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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2009, 21:17   #1
08ekhiv1
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 27
По умолчанию Сколько раз в тексте встречается каждое слово.

Много всего пробывал, искал в поиске, но находил только про буквы. Вот и решил написать.

Допустим у меня есть масив (m:array[1..100] of string) состоящий из слов строки s. Как мне подсчитать сколько раз каждое слово из массива m встречается в строке s, чтоб ответ выглядел примерно вот так:

s: mama mama mama mila mila ramu
mama 3
mila 2
ramu 1

Спасайте меня... пожалуйста
08ekhiv1 вне форума Ответить с цитированием
Старый 10.03.2009, 21:50   #2
Трофимов Александр
Форумчанин
 
Аватар для Трофимов Александр
 
Регистрация: 03.11.2006
Сообщений: 321
По умолчанию

Наверное m: array[1..100] of s ?
где s: string. И надо найти все слова в массиве m?
Уточни пожалуйста.
В любом случае надо изначально исходить из максимального количества слов (видимо словами считаются и предлоги), тогда массив который надо резервировать для расчётов (так будет легче и понятнее) будет размерностью L/2, где L-длина символьной последовательности всего массива, так как между словами должны быть пробелы. Но сначала уточни задание.
Трофимов Александр вне форума Ответить с цитированием
Старый 11.03.2009, 10:56   #3
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Делал что-то подобное но на конкретном примере не проверял
Код:
procedure TForm1.Button1Click(Sender: TObject);
var x:array [1..255] of string;
      s1,s2: string;
    i,j,k,n:integer;
begin
s1:=edit1.text+' ';
s2:=''; j:=1;k:=0;

for i:=1 to length(s1) do begin
  if s1[i]<>' ' then s2:=s2+s1[i]
  else begin
    x[j]:=s2;
    s2:=''; j:=j+1;k:=k+1;
  end;
end;

for i:=1 to k-1 do begin
n:=1;
for j:= i+1 to k do  begin
if x[i]=x[j] then begin
 n:=n+1;

end; end;
Form1.Memo1.Lines.Add('слово '+x[i]+' содержится '+inttostr(n)+' раз(а)');
end;

end;
S@fer вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сколько раз заданное слово встречается в данной строке pascal1994 Помощь студентам 4 04.02.2009 08:41
сколько разних слово встречается в данной строке pascal1994 Помощь студентам 3 04.02.2009 04:16
Нужно вывести на экран каждое слово на новой строке. Юлёк PHP 5 28.01.2008 14:57
Определить сколько раз встречается в тексте самое короткое слово - Delphi 7 Леди Уинтер Помощь студентам 3 08.01.2008 17:56
Сколько раз встречается данное слово n1k1c4 Помощь студентам 4 13.12.2007 20:33