Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2011, 02:38   #1
American_dream
 
Регистрация: 17.10.2011
Сообщений: 3
По умолчанию Статистика слов в тексте

Нужна помощь, необходимо подсчитать количество каждого слова(превышающее определенное количество раз... то есть встречается в тексте допустим более 2-3 раз) в тексте (Memo1). Допустим:
Ехал Грека через реку
Видит Грека в реке рак,
Сунул Грека в реку руку,
Рак за руку Греку цап.
И выводилось таким образом: "Грека" "3", "Рак" "2", "руку" "2", "реку" "2". В Лист бокс или СтрингГрид не имеет значения.
American_dream вне форума Ответить с цитированием
Старый 17.10.2011, 03:44   #2
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Наработки? Как помочь? Я могу помолиться за Вас. Пойдёт?
TwiX вне форума Ответить с цитированием
Старый 17.10.2011, 04:37   #3
American_dream
 
Регистрация: 17.10.2011
Сообщений: 3
По умолчанию

Дабы показать что я пытался делать, а не прошу все готовое... Вот моя работа http://zalil.ru/31880930
Я на форуме новичек, так что не знаю как подругому заливать и как это лудше делать.
American_dream вне форума Ответить с цитированием
Старый 17.10.2011, 09:08   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ваш проект не смотрел.

Посмотрите мой пример решения аналогичной задачи тут:
повторение слов в txt файле



ВНИМАНИЕ!
В архиве EXEшник заражённый Virus.Win32.Induc.a
Обнаружена угроза:
объект заражен Virus.Win32.Induc.a


Вам надо СРОЧНО лечить компьютер (Delphi) - читайте здесь -
Delphi-“вирус” проверьте свою установленную Delphi!

Последний раз редактировалось Serge_Bliznykov; 17.10.2011 в 09:11.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.10.2011, 09:35   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот вариант решения "по мотивам" вашего проекта:
Код:
procedure FindWordInString(S:string; var TS : TStringList);
const
  D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var i:integer;
    S2:string;
begin
//  Result := TStringList.Create;
  S2 := '';
  For i:=1 to Length(S) do
  begin
     if (s[i] in D) then begin
        if (Length(S2)>0) then begin
          TS.Append(S2);
          S2:='';
        end;
     end
    else
        S2:=S2+s[i];
  end;
  if (Length(S2)>0) then TS.Append(S2);
end;

........

procedure TForm1.Button4Click(Sender: TObject);
var i, j, Cnt : Integer;
    S:string;
    OneWord : string;
    TSL : TStringList;
begin
  TSL := TStringList.Create;
  try
    FindWordInString(Memo1.Text, TSL);

    ListBox1.Items.Clear; // очистим ListBox
    if TSL.Count=0 then Exit; // если нет ни одного слова - выходим!

    TSL.Sort; // отсортируем массив по словам

     // А вот собственно  и подсчёт
     OneWord := TSL.Strings[0];
     Cnt := 1;
     for i := 1 to TSL.Count - 1 do
       if AnsiUpperCase(TSL.Strings[i]) = AnsiUpperCase(OneWord) then inc(Cnt)
       else begin
         ListBox1.Items.Append(OneWord+' '+InttoStr(Cnt));
         OneWord := TSL.Strings[i];
         Cnt := 1;
       end;

     // для последнего слова в списке вывод результата
     ListBox1.Items.Append(OneWord+' '+InttoStr(Cnt));

  finally
    FreeAndNil(TSL);
  end;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.10.2011, 19:20   #6
American_dream
 
Регистрация: 17.10.2011
Сообщений: 3
По умолчанию

Спасибо выручил
American_dream вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Последовательность слов в тексте artemavd Общие вопросы Delphi 8 06.09.2011 09:48
Текст, сколько слов в тексте? BigBen Помощь студентам 1 13.01.2011 19:40
количество слов в тексте almareta Помощь студентам 3 01.04.2010 20:59
Составить в алфавитном порядке список всех слов, встречающихся в тексте, и количество этих слов. KAPAHDAW Паскаль, Turbo Pascal, PascalABC.NET 2 17.02.2009 01:19
Поиск слов в тексте pleer Общие вопросы Delphi 5 23.09.2007 08:19