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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
CrashFX
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 24
#1

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

13.05.2012, 22:41. Просмотров 472. Ответов 2
Метки нет (Все метки)

Есть строка, состоящая из слов, разделенных любым количеством пробелов. Напишите программу, которая выводит на экран четыре и более следующих друг за другом без учета промежутков гласных букв.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2012, 22:41     Вывести четыре следующих друг за другом гласных букв
Посмотрите здесь:

Массив: Сформировать два массива и вывести последовательно друг под другом - C++
Ребят такой вопрос можно допустим сформировать два массива и при выводе их они располагались друг под другом т.е. вот так 1 2 3 4 5 1 2...

Подскажите как вывести два массива рядом, а не под друг другом - C++
У меня есть две функции, которые выводят два массива. Подскажите как мне сделать так, чтоб они выводились рядом друг с другом, а не друг...

Вывести на печать сообщение о нечетности порядковых номеров букв, следующих за буквами g, l - C++
Друзья, помогите, пожалуйста. Нужно написать лабу, а нам вообще ничего не объяснили. Вот задание. Вывести на печать сообщение о...

Вывести на экран слово с наибольшим количеством гласных букв - C++
Помогите пожалуйста, напишите программу которая выводит на экран слово с наибольшим количеством гласных букв.

Вывести каждое второе слова в котором больше 3 букв и меньше 3 гласных - C++
Нужно вывести каждое второе слово в котором больше трех букв при этом меньше 3 гласных. Я написал прогу которая выводит каждое слово в...

Ввести строку. Вывести пословно в порядке возрастания количества гласных букв. - C++
Ввести строку. Вывести пословно в порядке возрастания количества гласных букв.

Объединить два массива друг за другом - C++
1. Даны 2 одномерных массива А и В по К элементов каждый. Создать 3-й массив С из К * 2 элементов, переписывая сначала у него все...

Размещение панелек друг над другом в псевдографике - C++
Не знал, куда такое задание кинуть, надеюсь, что попал по адресу. Если что это задание для первокурсника факультета информатики. ...

АТД список. Расположение одинаковых элементов друг за другом - C++
Здравствуйте! Подскажите, пожалуйста, как расположить одинаковые элементы друг за другом??? Например: Есть такой список: ...

Как правильно потоки должны взаимодействовать друг с другом? - C++
Добрый день. Встает вопрос по std::thread, а именно. Как несколько созданных потоков должны взаимодействовать друг с другом? Например...


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

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

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;
}
Bara1994
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 11
09.06.2013, 22:54     Вывести четыре следующих друг за другом гласных букв #3
CrashFX

почему она не работает?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru