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

Ha BorlandC++ - C++

Восстановить пароль Регистрация
 
Elembivos
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 14
25.01.2014, 11:42     Ha BorlandC++ #1
Cделать большими все буквы в тех словах, в которых есть по крайней мере одна пара подряд идущих гласных слов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
prog63
 Аватар для prog63
2 / 2 / 0
Регистрация: 24.11.2013
Сообщений: 77
25.01.2014, 12:00     Ha BorlandC++ #2
Во первых, откуда вы берете слова?
Вводите с клавиатуры?

Во вторых, немного не понятна суть задачи.
Вводим такую строку: abc aob ghrfzd (Ну или что нибудь подобное)
В "слове" aob есть пара идущих подряд гласных букв.
Программа должна вывести: abc AOB ghrfzd

Я правильно Вас понял ?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
25.01.2014, 12:42     Ha BorlandC++ #3
Писал под С++98
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
#include <algorithm>
#include <cctype>
#include <iostream>
#include <sstream>
#include <string>
 
bool hasTwoNearbyVowels(const std::string &str, const std::string &vowels)
{
    for (std::string::size_type i=0; i < str.length() - 1; i++)
        if (vowels.find(tolower(str[i]))   != std::string::npos &&
            vowels.find(tolower(str[i+1])) != std::string::npos)
            return true;
    return false;
}
 
int main(void)
{
    const std::string str("aEniki beniiki eli vareniki aa a .!."), vowels("aeiouy");
    std::cout << "Before: " << str << std::endl;
 
    std::cout << "After:  ";
    std::istringstream ist(str);
    for (std::string word; ist >> word; std::cout << word << " ")
        if (hasTwoNearbyVowels(word, vowels))
            std::transform(word.begin(), word.end(), word.begin(), toupper);
 
    std::cout << std::endl;
}
Elembivos
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 14
25.01.2014, 13:08  [ТС]     Ha BorlandC++ #4
Цитата Сообщение от prog63 Посмотреть сообщение
Во первых, откуда вы берете слова?
Вводите с клавиатуры?

Во вторых, немного не понятна суть задачи.
Вводим такую строку: abc aob ghrfzd (Ну или что нибудь подобное)
В "слове" aob есть пара идущих подряд гласных букв.
Программа должна вывести: abc AOB ghrfzd

Я правильно Вас понял ?
вот поэтому и обратился, ибо задание этим и кончается.
Yandex
Объявления
25.01.2014, 13:08     Ha BorlandC++
Ответ Создать тему
Опции темы

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