Помощь - Поиск - Пользователи - Календарь
Полная версия: Слова и их количество
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
i need help
Дали в универе задачку, если я не ошибаюсь, в ней должно проходить несколько циклов...

Дан текст, в котором встречаются слова, состоящие из букв русского и латинского алфавитов и цифр, знаки препинания, пробелы и переводы строк. Требуется найти количество вхождений каждого слова в этот текст и вывести слова отсортированными по не возрастанию этого количества. Для каждого слова при выводе в скобках указать количество его вхождений в текст.
Например, для текста:
один, два – это 2, три один два, много слов один.
Надо вывести:
один (3) два (2) это (1) 2 (1) три (1) много (1) слов (1)
Слова, которые встречаются в тексте одинаковое количество раз, должны быть выведены в том порядке, в котором они впервые встречаются в тексте.

искал в форуме, более менее похожего ненашол
volvo
Цитата(i need help @ 16.03.05 7:59)
искал в форуме, более менее похожего ненашол

Значит, плохо искал... Я так думаю, что "текст" - это текстовый файл?
Определяешь 2 массива: один для хранения слов, другой для хранения их количества (можно создать структуру типа:
Код
Type myWord = record
 s: string; count: integer;
end

, тогда дело ограничивается одним массивом)

Читаешь файл построчно, идешь в FAQ: Строки, там есть функция выделения слов из строки, разбиваешь свою строку на слова, и переносишь слова в дополнительный массив (если слово уже присутствует в массиве, то просто увеличиваешь соответствующий счетчик)...
Повторяешь, пока в файле есть строки...

Дальше, я думаю, понятно: проходишь по всему созданному тобой массиву, сортируешь его по убыванию count (любым способом, описанным здесь), и распечатываешь в виде: "s (count)"
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.