Слова и их количество |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Слова и их количество |
i need help |
Сообщение
#1
|
Гость |
Дали в универе задачку, если я не ошибаюсь, в ней должно проходить несколько циклов...
Дан текст, в котором встречаются слова, состоящие из букв русского и латинского алфавитов и цифр, знаки препинания, пробелы и переводы строк. Требуется найти количество вхождений каждого слова в этот текст и вывести слова отсортированными по не возрастанию этого количества. Для каждого слова при выводе в скобках указать количество его вхождений в текст. Например, для текста: один, два – это 2, три один два, много слов один. Надо вывести: один (3) два (2) это (1) 2 (1) три (1) много (1) слов (1) Слова, которые встречаются в тексте одинаковое количество раз, должны быть выведены в том порядке, в котором они впервые встречаются в тексте. искал в форуме, более менее похожего ненашол |
volvo |
Сообщение
#2
|
Гость |
Цитата(i need help @ 16.03.05 7:59) искал в форуме, более менее похожего ненашол Значит, плохо искал... Я так думаю, что "текст" - это текстовый файл? Определяешь 2 массива: один для хранения слов, другой для хранения их количества (можно создать структуру типа: Код Type myWord = record s: string; count: integer; end , тогда дело ограничивается одним массивом) Читаешь файл построчно, идешь в FAQ: Строки, там есть функция выделения слов из строки, разбиваешь свою строку на слова, и переносишь слова в дополнительный массив (если слово уже присутствует в массиве, то просто увеличиваешь соответствующий счетчик)... Повторяешь, пока в файле есть строки... Дальше, я думаю, понятно: проходишь по всему созданному тобой массиву, сортируешь его по убыванию count (любым способом, описанным здесь), и распечатываешь в виде: "s (count)" |
Текстовая версия | 23.12.2024 20:23 |