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

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

Войти
Регистрация
Восстановить пароль
 
Лизочка
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 7
#1

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

17.12.2010, 22:02. Просмотров 1043. Ответов 1
Метки нет (Все метки)

Ввести строку. Вывести пословно в порядке возрастания количества гласных букв.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2010, 22:02     Ввести строку. Вывести пословно в порядке возрастания количества гласных букв.
Посмотрите здесь:
C++ Ввести строку, вывести слово, содержащее наибольшее количество гласных букв
C++ Ввести строку. Вывести пословно вместе со счетчиком повторений этого слова.
C++ Ввести строку. Вывести пословно вместе со счетчиком повторений этого слова.
C++ Ввести 3 числа, вывести их в порядке возрастания
C++ Ввести три числа и вывести их в порядке возрастания
C++ Стеки- Ввести строку и вывести его в обратном порядке
Игнорированием гласных букв и общет их количества C++
C++ Проверить на содержание одинакового количества гласных и согласных букв
Подсчет количества слов начинающихся с гласных, согласных, иных букв C++
C++ Ввести три числа и выдать их на экран в порядке возрастания
C++ Ввести строку и слово. Вывести те слова, которые не содержат букв, входящих в слово.
Ввести строку и слово. Вывести те слова, которые не содержат букв, входящих в слово (через <stdio.h>) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
17.12.2010, 22:26     Ввести строку. Вывести пословно в порядке возрастания количества гласных букв. #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 <vector>
#include <string>
#include <algorithm>
#include <iterator>
 
bool pred(std::string str1, std::string str2)
{
    size_t cnt1 = 0, cnt2 = 0;
    std::string glas("AaEeIiOoUuYy");
 
    std::string::iterator it;
    for(it = str1.begin(); it !=  str1.end(); ++it)
        if(glas.find(*it) != std::string::npos)
            ++cnt1;
 
    for(it = str2.begin(); it !=  str2.end(); ++it)
        if(glas.find(*it) != std::string::npos)
            ++cnt2;
 
    return cnt1 < cnt2;
}
 
int main()
{
    std::string str;
    std::cout << "Input string: ";
    getline(std::cin, str);
    std::vector<std::string> vec;
 
    std::istringstream ist(str);
    while(ist >> str)
        vec.push_back(str);
 
    std::sort(vec.begin(), vec.end(), pred);
 
    std::cout << "\n\t-> ";
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, " "));
    return 0;
}
Ответ Создать тему
Опции темы

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