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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2010, 22:58   #1
FunnyDev1l
Новичок
Джуниор
 
Регистрация: 18.05.2010
Сообщений: 2
По умолчанию Работа со строками

Ребят кому не сложно помогите пожалуста!!
Задача: Дано предложение P. Найти в нем два слова W1 и W2, из которых W1 есть обращение W2(пример: корова-W1,аворок-W2)
язык Delphi
заранее спс

Последний раз редактировалось FunnyDev1l; 18.05.2010 в 23:05.
FunnyDev1l вне форума Ответить с цитированием
Старый 18.05.2010, 23:06   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

составляешь критерий для распознования слов, читаешь строку игнорируя пробелы, сравниваешь, выводишь ответ. Самое сложное это первое)
NiCola999 вне форума Ответить с цитированием
Старый 18.05.2010, 23:08   #3
FunnyDev1l
Новичок
Джуниор
 
Регистрация: 18.05.2010
Сообщений: 2
По умолчанию

Цитата:
Сообщение от NiCola999 Посмотреть сообщение
составляешь критерий для распознования слов, читаешь строку игнорируя пробелы, сравниваешь, выводишь ответ. Самое сложное это первое)
да не говори...это как раз и не получается
FunnyDev1l вне форума Ответить с цитированием
Старый 19.05.2010, 00:21   #4
sabbathist
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 66
По умолчанию

Для удобного сравнения можно посортировать все символы в слове, и тогда просто сравнивать слова на равенство.
O(n)
sabbathist вне форума Ответить с цитированием
Старый 19.05.2010, 08:30   #5
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var sl:tstringlist;
    s:string;
    i,j,a:integer;
begin
 sl:=tstringlist.Create;
 sl.Assign(memo1.Lines);
 sl.Delimiter:=' ';
 sl.DelimitedText:=sl[0];
 for i:=0 to sl.Count-1 do
 begin
  s:= ReverseString(sl[i]);
  if i<sl.Count-1 then a:=i+1 else a:=i;
  for j := i to sl.Count-1 do
  if s = sl[j] then memo1.Lines.Add(sl[i]+' '+sl[j]);
 end;
 sl.Free;
end;
SERG1980 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками GoAnd Общие вопросы по Java, Java SE, Kotlin 9 22.09.2010 03:36
Работа со строками. tae1980 Microsoft Office Excel 2 18.04.2009 16:38
Работа со строками. ViNcHeStEr Помощь студентам 6 29.06.2008 08:14