Упорядочить массив строк по частоте повторов - 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 и выполняет следующие действия:

  1. Запрашивает у пользователя размер массива слов от 2 до 20.
  2. Запрашивает у пользователя n слов для ввода.
  3. Вводит n слов и сохраняет их в массиве a.
  4. Создает структуру zap для хранения слова и его частоты повторения.
  5. Инициализирует массив b, который будет использоваться для хранения слов в порядке возрастания частоты повторения.
  6. Заполняет массив b словами из массива a, начиная с первого введенного слова.
  7. Использует алгоритм сортировки выбором для сортировки массива b в порядке возрастания частоты повторения.
  8. Выводит отсортированный массив b и количество слов в нем.
  9. Выводит каждое слово из отсортированного массива b.
  10. Выводит последнее слово из массива a (которое не было учтено при сортировке).

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


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

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

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