Работа №1
Вариант 1: Работа с файлами
Написать программу, которая выполнит следующие действия:
1. Сформирует файл, который содержит некоторое количество случайных целых чисел некоторой длины. Длины (количество цифр в записи числа) всех чисел одинаковые, каждое число не менее чем двузначное (можете взять любое число разрядов какое нравится и даже вынести его в define-константу).
2. Прочитает числа из сформированного файла в случайном порядке и запишет их в другой файл таким образом, чтобы никакое из чисел не присутствовало в результирующем файле дважды (кроме случаев, когда оно дважды или более встречается в исходном файле).
Программа должна обрабатывать аргументы командной строки.
Первый аргумент – имя формируемого файла, второй аргумент – имя файла с результатом. Пример вызова (в нём generatenumbers.exe это имя вашей программы):
generatenumbers.exe source.txt target.txt
В случае если содержимое первого файла сгенерируется, например, таким:
11 22 33 44 55 66 77
Файл target.txt сможет получить, например, такое содержимое:
33 11 77 22 66 55 44
То есть все числа из исходного файла расположены в новом файле в случайном порядке.
Обратите внимание, что программа НЕ должна считывать исходные числа из файла в массив, перемешивать их, после чего записывать в другой файл. В рамках работы необходимо придумать такой алгоритм работы чтобы использование промежуточных массивов не требовалось.
Вариант 2: Обработка строки
Из файла, указанного в командной строке при запуске программы, необходимо считать выражение, содержащие скобки четырёх видов – круглые (), квадратные [], фигурные {} и угловые <>. Необходимо проверить, является ли последовательность скобок корректной, а именно:
1. Что любая открывающая скобка имеет закрывающую того же типа где-то дальше по строке
2. Что пары скобок не пересекаются (вложенные скобки при этом допустимы):
Пример выражения с правильно расставленными скобками:
(a+[b*c] <- {d/3}>)
Пример выражения с неправильно расставленными скобками:
(a+[b*c) - 17]
Ответ необходимо вывести на экран в удобочитаемом виде. Из ответа должно быть понятно, верно ли расставлены скобки каждого вида и если неверно – то указать с какой именно скобки нарушается правильность расстановки и состояние проверки скобок на момент нахождения ошибок.
Например, для вот такого выражения:
4 (a + [b * c] - {d / 3}) a b {c} d>
результат, вероятно, будет следующим:
() - верно
[] - верно
{} - верно
<> - неверно
Время на выполнение – 2 недели