Помощь - Поиск - Пользователи - Календарь
Полная версия: Структуры данных
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
bon garson
Напишите программу, которая, анализируя текст, определяет десять наиболее часто употребляемых в нем слов.

Входные данные
Во входном файле содержится одна или более строк длиной не более 200 символов, в которых содержится текст, состоящий не более чем из 100000 слов. Количество различных слов в тесте от 10 до 10000. Максимальная длина слов не превышает 20 букв. Текст состоит из малых латинских букв и пробелов.

Выходные данные
В выходной файл вывести десять строк. Каждая строка должна содержать одно слово, напечатанное строчными буквами. Слово, которое употребляется наиболее часто, должно идти в списке раньше более редкого слова. Если же слова употребляются одинаковое число раз, то слова располагаются в списке в лексикографическом порядке. Аналогичные правила используются для определения того, какие слова должны войти в список, а какие отброшены. Рядом с каждым словом должно содержаться соответствующее количество.

Пример

Ввод

if you wish to become a registered far user all you need do is make
a payment to the author via one of the local registration sites
listed in site many registration sites will accept a credit
cards all will accept cash or cashier s cheque


Вывод

a 3
accept 2
all 2
registration 2
sites 2
the 2
to 2
will 2
you 2
author 1

какие будут предложения по реализации??? буду рад коду.
Altair
разбиение на слова.

дальше - сортируем то что получили... и получаем готовую послежовательность по убыванию (возрастанию) частоты употребления.
Методы сортировок
-Volvo-
Олег, только не забывай, что
Цитата
Количество различных слов в тесте от 10 до 10000. Максимальная длина слов не превышает 20 букв.

Статический массив организовать не получится:
arr: Array[1 .. 10000] Of String[20];
будет просто "зарезано" компилятором, так что:
Type
PMyStr = ^TMyStr;
TMyStr = String[20];
Var
Array[1 .. 10000] Of PMyStr; { Вот это компилятор пропустит }
Altair
yes2.gif 4.gif smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.