![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Frogs2009 |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
а)Дан файл, содержащий текст на русском языке. Определить, сколько раз встречается в нем самое длинное слово.
Алгоритм: 1. Открываем файл [Assign(), ReSet() ] 2. Читаем его While Not Eof(File) Do ReadLn(File,S); 3. Каждую прочитанную строчку (S) разбиваем на слова. Можно даже внутри предыдущего цикла. Критерием разбива наверное будет служить пробельный символ ' ' (#32) 4. Каждое получившееся слово сохраняем для дальнейшей работы с ним, но предварительно ищим в уже "существующих" (сохраненных ранее) словах на предмет его уже "встречаемости", ну что б не повтиряться. И если совпадение было найдено - увеличиваем счетчик для этого слова на 1. Если же нет - то сохраняем в новой ячейке. 5. После выхода из цикла (пункт 2) мы достигнем конца файла, заодно будем иметь список слов, которые были в файле с указанием их количества. Осталось только выяснить какое из них самое длинное. 6. Для этого используем обычный цикл For I:=1 To Скока-там-слов-насчиталось Do If Length(Текущее_слово)>Max_length Then Begin Max_length:=Length(Текущее_слово); Номер-Самого-Длинного-Слова := I End 7. После этого у нас все есть - номер самого длинного слова, само слово, и количество его повторений. 8. закрываем файл, и выводим результат на экран. Алгоритм есть,а ка делать не пойму |
![]() ![]() |
Sozialist |
![]()
Сообщение
#2
|
![]() Клавиатурный тиран ![]() ![]() Группа: Пользователи Сообщений: 79 Пол: Мужской Реальное имя: Дмитрий Репутация: ![]() ![]() ![]() |
![]() Алгоритм подробнейший. "а ка делать не пойму"-?? Синтаксиса не знаешь? Что за вопрос.. Сохранять слова можно в массив записей: type Могу сделать за опр. сумму (в личку) Сообщение отредактировано: Sozialist - 20.06.2008 0:24 |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 23:32 |