Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Visual C++
Перезагрузить страницу Имеются две строки CString, можно ли реализовать поиск части первой строки во второй
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию Имеются две строки CString, можно ли реализовать поиск части первой строки во второй - 23.05.2003, 14:18

Имеются две строки CString, можно ли в реализовать поиск части первой строки во второй?
Например:
Строка1 - Hello world!
Строка2 - goodbye world!
В случае, если слов из первой подстроки нет во второй, добавить их во вторую, если есть - не добавлять.
Ответить с цитированием
  (#2 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 23.05.2003, 14:29

Честно говоря, ничего интересного в этой задачке я не увидел...
Разбить строку на слова просто, запихать их в какой-нибудь массив, например, std::vector, а затем искать поочередно во второй строке. Насколько я помню, в CString поиск подстроки реализован.
В чем проблема-то?
Ответить с цитированием
  (#3 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 23.05.2003, 15:24

Проблема в том, что при запихивании в массив и дальнейшем поиске перебором затрачивается много времени.
Ответить с цитированием
  (#4 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 23.05.2003, 15:36

Ну тогда так и надо было написать, что требуется оптимальный по времени вариант.
Единственное, что пока приходит в голову - использовать алгоритмы быстрого поиска. Тема только что обсуждалась:
http://www.hardforum.ru/t47179
Ответить с цитированием
  (#5 (permalink)) Старый
Влад Влад вне форума
Специалист
 
Сообщений: 3,884
Сказал(а) спасибо: 1
Поблагодарили 25 раз(а) в 25 сообщениях
Регистрация: 27.06.2002
Адрес: Санкт-Петербург
По умолчанию 23.05.2003, 16:34

Цитата:
Originally posted by Ivan_Selishev
[b]Проблема в том, что при запихивании в массив и дальнейшем поиске перебором затрачивается много времени.
Тогда я бы предложил посмотреть в сторону std::map и хешированных контейнеров.
Грубо, можно предложить такой алгоритм:
1. Разбиваешь первую строку на слова (точнее, лексемы) и запихиваешь их в нечто типа std::map<string, ...>
2. Разбиваешь вторую строку на лексемы и удаляешь из map совпадающие.
3. То, что осталось - добавляешь во вторую строку.
Ответить с цитированием
Ads.
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дублирование каждой второй строки текстового файла alesandre Prolog 0 06.12.2010 23:40
Добавить в конец первой строки, последние n2-n1 слов второй строки gika111 Вопросы начинающих программистов 1 20.01.2010 16:41
Поиск TXT строки средствами С++ в списке txt файлов Sergik999 Вопросы начинающих программистов 3 03.08.2009 15:09
Строки. Добавление части строки внутрь другой frikorsar Prolog 2 21.01.2009 19:58
Разделение строки как реализовать Henrih .NET 5 21.11.2008 20:56
Как сделать в RichEditCtrl редактируемость только части строки Kosta Visual C++ 2 07.02.2007 14:57
Trichedit. Как определить номер первой и последней отображенной на экране строки Olegg Delphi 4 11.12.2006 17:27
Работа с Memo переход к нужной части строки Lin@ C++ Builder 11 10.09.2006 17:57
Как можно вырезать текст от первой запятой и до второй ELFofMETAL C++ Builder 5 27.07.2006 10:44
Выделение строки (или ее части) с текущей ячейкой MSC51 Visual Basic 6 11.08.2005 13:55
Парсирование строки как реализовать Kelt .NET 2 09.08.2005 15:39
Можно ли присвоить размерности второй матрицы - размерность первой Sabrina C++ Builder 9 14.10.2004 17:58



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов