![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.10.2009
Сообщений: 18
|
![]()
Определить, сколько раз встречается каждое слово в тексте. Вывести на экран самое короткое и самое длинное слово текста.
var f:textfile; str,word:string; i,j,m,n:integer; arrstr:array of string; begin assignfile(f,'test.txt'); reset(f); n:=0; while not eof(f) do begin readln(f,str); m:=Length(str); i:=0; while i<=m do begin case str[i] of 'а'..'я','А'..'Я': begin word:=word+str[i]; inc(i); end; else begin if word<>'' then begin inc(n); SetLength(arrstr,n); word:=AnsiLowerCase(word); arrstr[n-1]:=word; word:=''; end; inc(i); end; end; end; end; for i:=0 to n-1 do begin if arrstr[i]='' then continue; m:=1; for j:=i+1 to n-1 do begin if arrstr[j]='' then continue; if arrstr[i]=arrstr[j] then begin inc(m); arrstr[j]:=''; end; end; writeln(arrstr[i]+' '+IntToStr(m)); arrstr[i]:=''; end; end; а как определить сколько раз встречается каждое слово в тексте вообще не понял |
![]() |
![]() |
![]() |
#2 |
Заблокирован
Регистрация: 11.12.2009
Сообщений: 133
|
![]()
А это что за прога?
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 06.10.2009
Сообщений: 18
|
![]()
часть нужной =)
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 06.10.2009
Сообщений: 18
|
![]()
up!!!!!!!!!!!!!!!!!
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 06.10.2009
Сообщений: 18
|
![]() Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 06.10.2009
Сообщений: 18
|
![]()
чуток косяк гдет
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
сразу видно. в разных местах нашли два исходника.
второй сделан качественно, я бы даже сказал - остроумно. И работает так, как от него требуется. Первая же часть - не работоспособная. Поэтому берём второе решение. К нему прикручиваем проверку на длину слов. и всё, готово: Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 06.10.2009
Сообщений: 18
|
![]()
сказали что надо не только пробелы но и остальные символы
c:set of char; c:=[' ','.','!','?',',',';']; |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 06.10.2009
Сообщений: 18
|
![]()
апапапапап
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
перед строчками:
s := s + ' '; k := Pos(' ', s); вставьте код Код:
Дальше всё должно работать. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Тексты из двух ячеек в одну и первый подчеркнуть | chyw | Microsoft Office Excel | 1 | 23.10.2009 05:15 |
тексты в паскаль | Лида200915 | Помощь студентам | 6 | 02.10.2009 22:39 |
Задача (Pascal) | Lees27 | Помощь студентам | 3 | 21.05.2009 13:17 |
Получить тексты всех окон в системе | micaell | Win Api | 1 | 25.02.2009 09:02 |
сравнить тексты | olimpus | Microsoft Office Excel | 27 | 07.11.2008 10:29 |