![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 14.09.2011
Сообщений: 203
|
![]()
Нужно найти самые часто повторяющиеся слова в Memo. Подскажите, как это можно сделать?
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 27.09.2008
Сообщений: 152
|
![]()
создай масив повторений
бери каждую строчку и проверяй остальные ровна ли она той если равна записывай в масив дальше можешь вывести масив и увидить сколько раз повторялась та или иная строка |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 04.06.2009
Сообщений: 351
|
![]()
Я бы сделал немного по другому:
построчно разбить строку на слова (разделитель пробел) каждое слово сверять с масивом и если - слово в масиве отсутствует тогда добавлять его в масив и тут же этому слову ставить "счетчик" в еденицу - слово присутствует - увеличить счетчик на еденицу
Мне разрешено открывать только одну страницу - about :blank. Сперва было скучно, но потом я втянулся. Теперь у меня там живет 2 виртуальных друга, и я слышу голоса из розетки!
|
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 14.09.2011
Сообщений: 203
|
![]() Цитата:
сначала делю строки на слова и вношу их в массив Код:
Код:
|
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
А где код, устанавливающий размер этого массива?
И какое значение принимает w в момент возникновения ошибки? |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 14.09.2011
Сообщений: 203
|
![]() |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
length - возвращает размер массива, а устанавливает его
setlength. Покажите, где Вы устанавливаете размер массива, и каков он в момент выполнения. Подозреваю, что память под массив просто не распределена (забыли вызвать setlength). |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 14.09.2011
Сообщений: 203
|
![]()
да я, собственно, нигде его не ставлю. а где нужно ставить этот setlength? какой вообще смысл менять размер массива? насколько мне известно, length определяет длину массива. я так уже делал много раз, а тут оказывается, что что-то не так.
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
не правильно вы делаете.
Разбейте текст на список слов: Цитата:
Итого получается список внятных букаф. Удалим же пустые строки и сделаем нижний регистр или верхний: Код:
Берем многопоточность: Кол-во строк в TS делим на желаемое кол-во потоков, остаток от деления загребает последний поток. Всем потокам отдается исходный текст. Поток при запуске исходный текст переводит в верхний/нижний регистр: fTexts:=UpperCase(fTexts); Дальше ищутся слова в тексте и обрабатывается ивент когда есть итог по слову. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определить, есть ли в данной строке одинаковые слова. | RoMiRoSSaN | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 13.12.2012 10:30 |
Одинаковые строки Memo | Dima_D | Общие вопросы Delphi | 12 | 15.07.2012 09:03 |
паскаль символьный тип (найти одинаковые слова) | JosH7 | Помощь студентам | 4 | 25.03.2012 23:51 |
подсвечивающиеся одинаковые слова в Word 2003 | Dbnfkbq | Microsoft Office Word | 1 | 29.03.2011 03:31 |
Как найти абсолютно одинаковые строчки и удалить их, и объединить очень похожие? | dronkailp | Microsoft Office Excel | 4 | 28.10.2009 16:59 |