Дан файл, содержащий текст на русском языке. Определить сколько раз встречается в нем самое длинное слово — Pascal(Паскаль)

{Дан файл, содержащий текст на русском языке.
 Определить сколько раз встречается в нем самое длинное слово}

program pr6c;
const razd=[' ','.',',','?','!',':',')','('];
var f:text;
    s,slo,slovo,name:string;
    k,i:integer;
begin write('Введите имя файла:');
      readln(Name);
      assign(f,name);
      reset(f);
      slovo:='';k:=0;
      while not(EOF(F)) do
        begin
          readln(f,s);slo:='';
          for i:=1 to length(s) do
              begin
                 if s[i] in razd
                    then
                       begin
                        if (i>1)and not(s[i-1]in razd)
                           then begin
                                  if (length(slo)=length(slovo))and
                                     (slo=slovo)
                                     then k:=k+1;
                                  if length(slo)>length(slovo)
                                     then
                                       begin
                                         slovo:=slo;
                                         k:=1
                                       end;
                                end;
                         slo:=''
                       end
                    else
                       begin
                         slo:=slo+s[i]
                       end;
               end;
           if (length(slo)=length(slovo))and
              (slo=slovo)
              then k:=k+1;
           if length(slo)>length(slovo)
              then slovo:=slo;
         end;
       writeln('слово ',slovo,' встречается ',k,' раз');
       close(f);
       readln
end.

Leave a Comment

35 − = 30