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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2016, 20:20   #1
SEXTANT
Пользователь
 
Регистрация: 10.11.2016
Сообщений: 27
По умолчанию [Delphi]: найти множество всех слов, которые встречаются в каждом из заданных предложений.

найти множество всех слов, которые встречаются в каждом из заданных предложений.
Помогите пожалуйста не знаю как делать
SEXTANT вне форума Ответить с цитированием
Старый 18.12.2016, 11:37   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
type tArrs=array of string;

procedure Analiz(s:string; var st:tArrs);
var i,count:integer;
    s1:string;
begin
   count:=0;
   SetLength(st,0);
   While s<>'' do
   begin
      i:=Pos(' ',s);
      If i>0 then
      begin
         s1:=Copy(s,1,i-1);
         Delete(s,1,i);
      end else
      begin
         s1:=s;
         s:='';
      end;
      If s1<>'' then
      begin
         count:=count+1;
         SetLength(st,count);
         st[count-1]:=s1;
      end;
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j,k:integer;
    st:tArrs;
    s:string;
    d2:boolean;
begin
   s:='';
   For i:=0 to Memo1.Lines.Count-1 do
      s:=s+Memo1.Lines[i]+' ';
   Analiz(s,st);
   i:=Low(st);
   Repeat
      d2:=false;
      For j:=i+1 to High(st) do
         If st[i]=st[j] then
         begin
            d2:=true;
            For k:=j to High(st)-1 do
               st[k]:=st[k+1];
            SetLength(st,High(st));
         end;
      If not d2 then
      begin
         For k:=i to High(st)-1 do
            st[k]:=st[k+1];
         SetLength(st,High(st));
         i:=i-1;
      end;
      i:=i+1;
   Until i>High(st);
   Label1.Caption:='';
   For i:=Low(st) to High(st) do
      Label1.Caption:=Label1.Caption+st[i]+#13#10;
end;
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]: найти множество всех слов, которые встречаются в каждом из заданных предложений SEXTANT Помощь студентам 0 05.12.2016 21:38
Дан текст. Найти множество всех слов, которые встречаются во всех предло-жениях текста. Anton94.by Помощь студентам 1 31.03.2014 15:30
найти самое длинное общее слово двух заданных предложений DELPHI bratteampro Помощь студентам 1 10.01.2013 18:17
Напечатать множество слов,которые встречаются в каждом из двух заданных предложений. masjanja55 Помощь студентам 2 08.02.2011 12:38