IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Структуры данных
bon garson
сообщение 16.12.2005 21:37
Сообщение #1


Гость






Напишите программу, которая, анализируя текст, определяет десять наиболее часто употребляемых в нем слов.

Входные данные
Во входном файле содержится одна или более строк длиной не более 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
сообщение 16.12.2005 23:22
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


разбиение на слова.

дальше - сортируем то что получили... и получаем готовую послежовательность по убыванию (возрастанию) частоты употребления.
Методы сортировок

Сообщение отредактировано: Altair - 16.12.2005 23:22


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-Volvo-
сообщение 17.12.2005 0:02
Сообщение #3


Гость






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

Статический массив организовать не получится:
arr: Array[1 .. 10000] Of String[20];
будет просто "зарезано" компилятором, так что:
Type
PMyStr = ^TMyStr;
TMyStr = String[20];
Var
Array[1 .. 10000] Of PMyStr; { Вот это компилятор пропустит }
 К началу страницы 
+ Ответить 
Altair
сообщение 17.12.2005 0:22
Сообщение #4


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


yes2.gif 4.gif smile.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 9:47
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"