Напечатать все строки, имеющие минимальную длину - Turbo Pascal
Формулировка задачи:
Выполнение Задания предусматривает предварительное создание файла на диске с помощью программы (файл создается с указанной пользователем количества строк / цифр или до введения указанной признаки окончания)
Дан текстовый файл, разбитый на строки. Напечатать все строки, имеющие минимальную длину.
Решение задачи: «Напечатать все строки, имеющие минимальную длину»
textual
Листинг программы
program filestr; var f:text; ml:integer; s:string; begin ml:=1; assign(f,'f.txt'); reset(f); while not eof(f) do begin readln(f,s); if length(s)<ml then ml:=length(s); end; reset(f); while not eof(f) do begin readln(f,s); if length(s)=ml then writeln(s); end; close(f); readln; end.
Объяснение кода листинга программы
- В программе объявлены три переменные: f, ml и s.
- Переменная f инициализируется как текстовый файл с именем 'f.txt'.
- Переменная ml инициализируется значением 1.
- С помощью функции assign(f,'f.txt') файлу f присваивается имя 'f.txt'.
- С помощью функции reset(f) файл f сбрасывается в исходное состояние.
- Запускается цикл while not eof(f) do, который будет выполняться до конца файла f или до тех пор, пока не будет достигнут конец файла (eof).
- Внутри цикла считывается строка s с помощью функции readln(f,s).
- С помощью оператора if проверяется длина строки s. Если длина строки меньше значения переменной ml, то значение переменной ml устанавливается равным длине строки s.
- После завершения внутреннего цикла while not eof(f) do выполняется внешний цикл while length(s)=ml then.
- Внутри внешнего цикла считывается строка s с помощью функции readln(f,s).
- Если длина строки s равна значению переменной ml, то строка s выводится на экран с помощью функции writeln(s).
- После завершения внешнего цикла while length(s)=ml then выполняется команда close(f).
- Выполняется команда readln для выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д