Типизированные файлы: сколько раз максимальная компонента файла встречается в этом файле? - PascalABC.NET
Формулировка задачи:
Помогите пожалуйста.
Составьте программу подсчета того, сколько раз максимальная компонента файла встречается в этом файле.
Решение задачи: «Типизированные файлы: сколько раз максимальная компонента файла встречается в этом файле?»
textual
Листинг программы
read(f,mx); k:=1; while not eof(f) do begin read(f,a); if a=mx then inc(k) else if a>mx tnen begin mx:=a; k:=1; end; end;
Объяснение кода листинга программы
В данном коде на языке PascalABC.Net выполняется подсчёт максимальной компоненты в типизированном файле:
read(f,mx);— считывание из файлаfмаксимального значенияmx.k:=1;— инициализация счётчика.while not eof(f) do— цикл по файлу, пока не достигнут конец файла.read(f,a);— считывание из файлаfзначения переменнойa.if a=mx then inc(k)— если текущее значениеaравно максимальному значениюmx, то увеличиваем счётчикkна единицу.else if a>mx tnen— если текущее значениеaбольше максимального значенияmx, тоbegin— начало блока.mx:=a;— обновляем значение максимального значенияmxна текущее значениеa.k:=1;— обновляем значение счётчикаkна единицу.end;— конец блока.end;— конец цикла. Стоит отметить, что в данном коде не обрабатывается случай, когда в файле встречаются два или более максимальных значения, а также не проверяется, является ли файл пустым.