Найти самое длинное слово в файле и номер строки, в которой оно находится - Turbo Pascal

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

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

Для файла f1 содержащего символьную информацию , найти самое длинное слово и номер строки в которой оно находиться

Решение задачи: «Найти самое длинное слово в файле и номер строки, в которой оно находится»

textual
Листинг программы
var
  f:text;
  c:char;
  s,t:string;
  l,i:longint;
procedure ch;
begin
  if length(t)<length(s) then begin
    l:=i;
    t:=s;
  end;
end;  
begin  
  assign(f,'f1');
  reset(f);
  t:='';i:=0;
  while not eof(f) do begin
    i:=i+1;
    while not eoln(f) do begin
      read(f,c);
      if c=' ' then begin 
        ch;
        s:='';
      end else s:=s+c;
    end;
    readln(f);
    ch;
    s:='';
  end;
  close(f);
  writeln('Самое длинное слово:',t,' в строке ',l);
end.

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

  1. В начале объявляются все необходимые переменные: f - текстовый файл, c - символ из файла, s и t - строки, l и i - целые числа.
  2. Затем определяется процедура ch, которая сравнивает длины строк s и t и перезаписывает их значения, если s длиннее.
  3. Далее открывается файл 'f1' для чтения, сбрасывается буфер, и инициализируется пустая строка s и номер строки i.
  4. Затем идет цикл while, который выполняется до конца файла. В каждой итерации увеличивается значение i на единицу, а также считывается символ из файла и добавляется к строке s. Если считанный символ - пробел, то вызывается процедура ch.
  5. После завершения чтения файла закрывается файл 'f1'.
  6. И, наконец, выводится на экран сообщение о самом длинном слове и номере строки, в которой оно находится.

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

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