Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [C++]Строки,поиск слов |
Автор: DiNeo 18.6.2010, 07:27 | ||
Дан набор слов и произвольная текстовая строка. Выбрать из текстовой строки все слова, входящие в данный набор и вывести их на печать. Использовать методы класса string. Вот мое решение :
Помогите переписать используя string методы, пожалуйста. Вот методы: Метод size_type size() const и метод size_type length() const возвращают размер строки. Метод insert (size_type posl, const string & str) вставляет строку str в вызывающую строку, начиная с позиции posl. Метод replace (size_type posl, size_type n1, const string & str) заменяет n1 элементов, начиная с позиции pos1 вызывающей строки, элементами строки str. Метод string substr (size_type pos=0, size_type n=NPOS) const возвращает подстроку длины n, назиная с позиции pos. Метод size_type find (const string& str, size_type pos=0) const / size_type rfind (const string& str, size_type pos=0) const ищет самое левое/правое вхождение строки str в вызывающую строку, начиная с позиции pos, и возвращает позицию вхождения или NPOS, если вхождение не найдено. Метод size_type find (char с, size_type pos=0) const / size_type find (char с, size_type pos=0) const ищет самое левое/ правое вхождение символа с в вызывающую строку, начиная с позиции pos, и возвращает позицию вхождения или NPOS, если вхождение не найдено. Метод size_type find_first_of (const string& str, size_type pos=0) const/ size_type find_last_of (const string& str, size_type pos=0) const ищет самое левое/ правое вхождение любого символа строки str в вызывающую строку, начиная с позиции pos, и возвращает позицию вхождения или NPOS, если вхождение не найдено. Метод swap (const string& str) обменивает содрежимое вызывающей строки и строи str. Метод erase (size_type pos=0, size_type n= NPOS) удаляет n элементов, начиная с позиции pos. Метод clear () ощищает всю строку. Метод size_type copy (char * s, size_type n, size_type pos=0) const копирует в символьный массив s n элементов вызывающей строки, начиная с позиции pos. Возращается количество скопированных элементов. |
Автор: bsa 18.6.2010, 12:00 | ||
Тема перенесена. |
Автор: ИванМ 18.6.2010, 16:14 |
DiNeo, используйте методы substr и find. Как они работают, вы сами написали. Хотя можно ограничиться только find. Что-то в таком духе: for(size_t i=0;i<length;i++) if(text.find(words[i]!=string::npos) cout<<words[i]<<endl; |
Автор: DiNeo 19.6.2010, 10:39 |
ИванМ, спасибо! сделал) |