За один просмотр файла создать новый файл, в который будут записаны все слова наибольшей длинны - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Спасите мой степарь, пожалуйста! Надо напистаь такую прожку: Создать текстовый файл. За один просмотр файла создать новый файл, в который будут записаны все слова наибольшей длинны.

Решение задачи: «За один просмотр файла создать новый файл, в который будут записаны все слова наибольшей длинны»

textual
Листинг программы
var
  fin, fout : text;
  s : string;
  maxlen : integer;
begin
  assign(fin, 'd:\test\file_01.txt'); reset(fin);
  assign(fout, 'd:\test\file_011.txt'); rewrite(fout);
  maxlen := 0;
  while not seekeof(fin) do // вот он, один проход...
  begin
    readln(fin, s);
    if length(s) < maxlen then continue;
 
    if length(s) > maxlen then rewrite(fout);
    maxlen := length(s);
    writeln(fout, s);
  end;
  close(fin);
  close(fout)
end.

Объяснение кода листинга программы

  1. Объявлены переменные:
    • fin, fout: text;
    • s: string;
    • maxlen: integer;
  2. Установлены начальные значения переменных:
    • assign(fin, 'd:\test\file_01.txt');
    • assign(fout, 'd:\test\file_011.txt');
    • maxlen := 0;
  3. Запущен цикл while, который выполняется до тех пор, пока не будет достигнут конец файла:
    • while not seekeof(fin) do
  4. Внутри цикла считывается строка из файла в переменную s:
    • readln(fin, s);
  5. Если длина строки s меньше максимальной длины, то цикл продолжает выполняться.
  6. Если длина строки s больше максимальной длины, то происходит перезапись файла fout:
    • rewrite(fout);
  7. Обновляется значение переменной maxlen:
    • maxlen := length(s);
  8. Строка s записывается в файл fout:
    • writeln(fout, s);
  9. По завершении цикла закрываются файлы fin и fout:
    • close(fin);
    • close(fout);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы