В строках из файла определить буквы, на которые начинаются слова, в порядке убывания частоты их употребления - Free Pascal

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

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

подскажите пожалуйста как определить буквы, на которые начинаются слова?!!! Дан текстовый файл f. В каждой строке определить буквы, на которые начинаются слова, в порядке убывания частоты их употребления. Результат выполненных действий сохранить в текстовом файле g.

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

textual
Листинг программы
type
  let=record
    c:char;
    n:integer;
  end;
var
  f,g:text;
  c:char;
  s:string;
  t:let;
  l:array[byte] of let;
  i:integer;
  j,k:byte;
  b:boolean;
begin
 assign(f,'f');
 reset(f);
  assign(g,'g');
  rewrite(g);
 while not eof(f) do begin
   readln(f,s);b:=true;
   for i:=1 to length(s) do begin
     c:=s[i];
     if not (c in ['a'..'z','A'..'Z','А'..'Я','а'..'я','ё','Ё']) then b:=true
     else if b then begin
        j:=ord(c);
        inc(l[j].n);
        l[j].c:=c;
        b:=false;
      end;
    end;
  for k:=0 to 254 do
    for j:=k+1 to 255 do
      if l[k].n<l[j].n then begin
        t:=l[k];
        l[k]:=l[j];
        l[j]:=t;
      end;
      b:=false;
  for k:=0 to 255 do
    if l[k].n>0 then begin write(g,l[k].c);l[k].n:=0;b:=true;end;
  writeln(g);
 end;
  close(f);
  close(g);
end.

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

  1. Создаются типы данных: record let с полями c:char и n:integer;
  2. Определяются переменные:
    • f, g: text;
    • c: char;
    • s: string;
    • t: let;
    • l: array[byte] of let;
    • i: integer;
    • j, k: byte;
    • b: boolean.
  3. Открываются файлы f и g для чтения и записи соответственно;
  4. В цикле while считывается каждая строка из файла f;
  5. В каждой строке ищутся буквы, на которые начинается слово;
  6. Если буква не является буквой русского или английского алфавита, то она пропускается;
  7. Если буква уже была учтена, то увеличивается её частота в массиве l;
  8. В конце каждой буквы записывается в файл g;
  9. Закрываются файлы f и g.

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


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

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

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