Считать числа из файла и определить максимальное - Free Pascal
Формулировка задачи:
Необходимо считать 4 числа более 10 в 100-ой из нетипизированного файла, они стоят через пробел.
Определить максимальное
Пример
Input.txt
8989898565235689212453 564451321212 3
Output.txt
8989898565235689212453
в инпуте еще последнее число 1
Решение задачи: «Считать числа из файла и определить максимальное»
textual
Листинг программы
var
f : text;
ch : char;
s, max_s : ansistring;
begin
assign(f, 'd:\test\input_2.txt');
reset(f);
max_s := '';
while not eof(f) do
begin
ch := #0; s := '';
repeat
read(f, ch);
if ch <> ' ' then s := s + ch;
until eof(f) or (ch = ' ');
if (length(s) > length(max_s)) or
((length(s) = length(max_s)) and (s > max_s)) then max_s := s;
end;
writeln('max : ', max_s); // записать результат в файл - это тебе домашнее задание
close(f);
end.
Объяснение кода листинга программы
- Объявлены переменные:
- f: текстовый файл
- ch: символ
- s: строка
- max_s: строка
- Установлен путь к файлу и произведена инициализация файла
- Задано начальное значение переменной max_s равное пустой строке
- В цикле while считываются данные из файла до тех пор, пока не будет достигнут конец файла
- Внутри цикла в каждой итерации считывается один символ за раз
- Если считанный символ не является пробелом, он добавляется в строку s
- После каждой итерации цикла, проверяется, является ли текущая строка s больше текущей максимальной строки max_s
- Если текущая строка s больше или равна max_s, max_s обновляется значением текущей строки s
- После завершения цикла, выводится максимальная строка max_s
- Файл закрывается
- Задача студента - записать результат в файл