Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вывести четыре следующих друг за другом гласных букв - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с классами и перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread573589.html
Доброго времени суток, форумчане. Есть вот такое задание: 1. Класс "прямоугольник": координаты верхнего левого и нижнего правого углов, порядковый номер. 2. Потомки: "ромб"(длина второй...
C++ проблема со структурой и функциями Задание: 1. Описать структуру с именем ZNAK, содержащую следующие поля: • фамилия, имя; • знак Зодиака; • день рождения (массив из трех чисел). 2. Написать программу, выполняющую следующие... http://www.cyberforum.ru/cpp-beginners/thread573583.html
компилятор во всех задачах постоянно выдаёт одну и ту же ошибку. Что делать? C++
компилятор во всех задачах постоянно выдаёт одну и ту же ошибку (даже если задача решена правильно). Что делать? Deleting intermediate files and output files for project '65 - Win32 Debug'....
Не получается создать структуры – список сеансов кинотеатра C++
Доброго времени суток! Помогите пожалуйста составить программу к задаче: Создать массив, элементами которого являются структуры – список сеансов кинотеатра (название фильма, время начала,...
C++ Не получается создать структуры – список работников фирмы http://www.cyberforum.ru/cpp-beginners/thread573566.html
Доброго времени суток! Помогите пожалуйста составить программу к задаче: Создать массив, элементами которого являются структуры – список работников фирмы (фамилия, должность, стаж, зарплата)....
C++ Не получается создать структуры – заказы магазина Доброго времени суток! Помогите пожалуйста составить программу к задаче: Создать массив, элементами которого являются структуры – заказы магазина (фамилия клиента, товар, стоимость, адрес). Создать... подробнее

Показать сообщение отдельно
CrashFX
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 24
14.05.2012, 00:22  [ТС]
Есть строка, состоящая из слов, разделенных любым количеством пробелов. Напишите программу, которая выводит на экран четыре и более следующих друг за другом без учета промежутков гласных букв.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <sstream>
#include <iterator>
#include <string>
#include <algorithm>
#include <vector>
#include <cctype>
 
int main()
{
    std::string str;
    std::string vowels = "AEIOU";
    std::cout << "Enter string: ";
    std::getline(std::cin, str, '\n');
    std::stringstream stream(str);
    std::vector<std::string> vec;
    std::string buf;
    while (stream >> buf)
        vec.push_back(buf);
    std::vector<std::string> res;
    std::copy_if(vec.begin(), vec.end(), std::back_inserter(res), [&vowels](std::string &s) -> bool {
        if (s.length() < 4)
            return false;
        bool f = false;
        for(int i = 0; i < s.length() - 4; i++)
            if (
                vowels.find(toupper(s[i]))     != std::string::npos &&
                vowels.find(toupper(s[i + 1])) != std::string::npos &&
                vowels.find(toupper(s[i + 2])) != std::string::npos &&
                vowels.find(toupper(s[i + 3])) != std::string::npos
            )
            {
                f = true;
                break;
            }
        return f;
    });
    std::cout << std::endl;
    std::copy(res.begin(), res.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru