Отсортировать по возрастанию последовательность нулей и единиц - Free Pascal
Формулировка задачи:
Из текстового файла загружается одномерный массив, состоящий из нулей и единиц. Количество тех и других произвольно, как и сама длина массива. Программа сортирует массив так, что сначала идут все нули, за ними – все единицы. Программа записывает сортиро-ванный массив в выходной текстовый файл.
Решение задачи: «Отсортировать по возрастанию последовательность нулей и единиц»
textual
Листинг программы
type TData = 0..1; var n: array [TData] of Integer; e: TData; i: Integer; begin Assign(input,'input.txt'); Assign(output,'output.txt'); Reset(input); Rewrite(output); while not SeekEoF do begin Read(e); Inc(n[e]); end; for e in TData do for i:=1 to n[e] do WriteLn(e); Close(input); Close(output); end.
Объяснение кода листинга программы
- Создается тип данных TData, который представляет собой диапазон от 0 до 1.
- Объявляется массив n типа Integer, который будет хранить количество единиц в каждом элементе диапазона TData.
- Объявляются две переменные: e типа TData и i типа Integer.
- Открывается файл input.txt для чтения и файл output.txt для записи.
- В цикле while с условием not SeekEoF (конец файла) происходит чтение элементов из файла input.txt и увеличение значения в соответствующем элементе массива n.
- В цикле for перебираются все элементы диапазона TData.
- Внутри цикла for происходит запись элементов диапазона TData в файл output.txt.
- Закрываются файлы input.txt и output.txt.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д