Форум программистов, компьютерный форум CyberForum.ru

Найти в тексте слова, содержащие две одинаковые буквы, стоящие рядом - C++

Восстановить пароль Регистрация
 
Fizalina
0 / 0 / 0
Регистрация: 31.10.2015
Сообщений: 9
01.06.2016, 11:56     Найти в тексте слова, содержащие две одинаковые буквы, стоящие рядом #1
Имеется строка текста (на любом языке) из нескольких слов, разделённых пробелами и/или знаками препинания. Требуется найти в тексте и распечатать слова, удовлетворяющие требуемому условию. Если таких слов в тексте нет, программа должна выдать соответствующее сообщение об этом. «Слова, содержащие две одинаковые буквы, стоящие рядом.»
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2016, 11:56     Найти в тексте слова, содержащие две одинаковые буквы, стоящие рядом
Посмотрите здесь:

В строке имеются только две одинаковые буквы. Найти их. C++
C++ 4. Найдите все слова в предложении, содержащие по две буквы М, не стоящие рядом, и определите их количество
C++ Используя следующий фрагмент программы,введите перечисленные ниже слова из списка С содержащие ровно две буквы d
Найти все слова, содержащие латинские буквы (a, e, i, o, u) C++
C++ Найти в тексте одинаковые слова и подсчитать число их повторений
C++ Удалить из слова повторяющиеся 4 раза буквы, стоящие рядом
Найти в слове две одинаковые буквы C++
В строке найти слова содержащие ровно две буквы d C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
avgoor
562 / 352 / 83
Регистрация: 05.12.2015
Сообщений: 1,137
01.06.2016, 15:37     Найти в тексте слова, содержащие две одинаковые буквы, стоящие рядом #2
Цитата Сообщение от Fizalina Посмотреть сообщение
«Слова, содержащие две одинаковые буквы, стоящие рядом.»
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <regex>
#include <sstream>
#include <iterator>
int main()
{
    std::string str = "ass, abc?   sst.   abcdef dde";
 
    bool bExist = false;
    std::copy_if(std::istream_iterator<std::string>(std::istringstream(std::regex_replace(str, std::regex("[[:punct:] ]+"), " "))), std::istream_iterator<std::string>(), std::ostream_iterator<std::string>(std::cout, "\n"), [&bExist](auto s) { if (std::adjacent_find(s.begin(), s.end()) != s.end()) return bExist = true; return false; });
    if (!bExist) std::cout << "There is no such words" << std::endl;
}
Добавлено через 7 минут
Новая версия:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <regex>
#include <sstream>
#include <iterator>
int main()
{
    std::string str = "ass, abc?   sst.   abcdef dde";
 
    bool bExist = false;
    std::copy_if(std::istream_iterator<std::string>(std::istringstream(std::regex_replace(str, std::regex("[[:punct:] ]+"), " "))), std::istream_iterator<std::string>(), std::ostream_iterator<std::string>(std::cout, "\n"), [&bExist](auto s) { if (std::adjacent_find(s.begin(), s.end()) != s.end()) return bExist = true; return false; }), bExist || std::cout << "There is no such words" << std::endl;
}
Yandex
Объявления
01.06.2016, 15:37     Найти в тексте слова, содержащие две одинаковые буквы, стоящие рядом
Ответ Создать тему
Опции темы

Текущее время: 13:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru