Упорядочить массив строк по частоте повторов - Turbo Pascal
Формулировка задачи:
Здравствуйте, уважаемые программисты...задача такова... требуется упорядочить массив строк по возрастанию частоты повторов... например массив такой rock, join, com, join, rock, join... после работы программа должна вывести вот такой результат
com
rock
join
Заранее спасибо!)
Решение задачи: «Упорядочить массив строк по частоте повторов»
textual
Листинг программы
uses crt; type st=string[10]; zap=record s:st; k:integer; end; var a:array[1..20] of st; b:array[1..20] of zap; x:zap; n,m,i,j,k:byte; begin clrscr; repeat write('Введите размер массива слов от 2 до 20 n='); readln(n); until n in [2..20]; writeln('Введите ',n,' слов'); for i:=1 to n do begin write('Слово ',i,': '); readln(a[i]); end; clrscr; writeln('Массив слов'); for i:=1 to n do write(a[i],' '); writeln; m:=1; b[m].s:=a[1]; b[m].k:=1; for i:=2 to n do begin j:=1; k:=0; while(j<=m)and(k=0) do if a[i]=b[j].s then k:=1 else inc(j); if k=1 then inc(b[j].k) else begin m:=m+1; b[m].s:=a[i]; b[m].k:=1; end; end; for i:=1 to m-1 do for j:=i+1 to m do if b[i].k>b[j].k then begin x:=b[i]; b[i]:=b[j]; b[j]:=x; end; writeln('m=',m); writeln('Слова в порядке возрастания встречаемости'); for i:=1 to m do writeln(b[i].s); readln end.
Объяснение кода листинга программы
Этот код написан на Turbo Pascal и выполняет следующие действия:
- Запрашивает у пользователя размер массива слов от 2 до 20.
- Запрашивает у пользователя n слов для ввода.
- Вводит n слов и сохраняет их в массиве a.
- Создает структуру zap для хранения слова и его частоты повторения.
- Инициализирует массив b, который будет использоваться для хранения слов в порядке возрастания частоты повторения.
- Заполняет массив b словами из массива a, начиная с первого введенного слова.
- Использует алгоритм сортировки выбором для сортировки массива b в порядке возрастания частоты повторения.
- Выводит отсортированный массив b и количество слов в нем.
- Выводит каждое слово из отсортированного массива b.
- Выводит последнее слово из массива a (которое не было учтено при сортировке).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д