Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > текстовые файлы


Автор: Frogs2009 19.6.2008, 14:35
Дан файл, содержащий текст на русском языке. Определить, сколько раз встречается в нем самое длинное слово.
алгоритм:
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. закрываем файл, и выводим результат на экран.
помогите составить программу, алгоритм сделал, а на составление мозгов не хватает, заранее спасибо!!

Автор: Aristarh_Dark 19.6.2008, 15:30
Требуется чистый паскаль или устроит Delphi? Ну и интересно что я с этого буду иметь ;)

Автор: Frogs2009 19.6.2008, 15:36
Цитата(Aristarh_Dark @ 19.6.2008,  15:30)
Требуется чистый паскаль или устроит Delphi? Ну и интересно что я с этого буду иметь ;)

в Packal, ну я даж не знаю, сделаю все что в моих силах!

Автор: Aristarh_Dark 19.6.2008, 15:39
Отписал в личку

Автор: Frogs2009 19.6.2008, 15:59
Цитата(Aristarh_Dark @ 19.6.2008,  15:39)
Отписал в личку

а тут не можешь подсказать?

Автор: THandle 20.6.2008, 06:32
http://forum.vingrad.ru/index.php?showtopic=217306&view=findpost&p=1555843

Это то чем не устроило?

Автор: BenGAMEn 20.6.2008, 08:43
Дык вродь дали же ответ http://forum.vingrad.ru/index.php?showtopic=217306&view=findpost&p=1555843

Автор: Frogs2009 20.6.2008, 14:22
Спасибо большое народ!!!!очень благодарен!!!!!супер! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)