Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
3 / 3 / 1
Регистрация: 02.12.2016
Сообщений: 142
1

Задать перечислением все гласные буквы алфавита

25.05.2017, 13:13. Показов 1184. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте,
Я написал программу которая считает гласные буквы в строках. Пример

Input:
4 (кол- во строк на вводе)
my
name
is
mark
Output:
1 2 1 1

Вопрос:
Как можно это
C++
1
if (str[i] == 'a' || str[i] == 'i' || str[i] == 'u' || str[i] == 'y' || str[i] == 'o' || str[i] == 'e')
представить в более красивом виде. Может через enum letter(a,i,u,y,o,e) и if(str[i] == letter); У меня не получается даже через массив char.

Весь код :
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
#include <iostream>
#include <vector>
#include <string> 
 
using namespace std;
 
int main() {
    int n,count = 0;
    string str;
 
    cin >> n;
    vector<int> a(n);
 
    while (cin.get() != '\n')
        continue;
 
 
    for (int j = 0; j < n; j++) {
        getline(cin, str);
        for (int i = 0; i < str.length(); i++) {
            if (str[i] == 'a' || str[i] == 'i' || str[i] == 'u'
                || str[i] == 'y' || str[i] == 'o' || str[i] == 'e') {
                count++;
            }
            
        }
        a[j] = count;
        count = 0;
    }
 
    for (auto now : a) {
        cout << now << " ";
    }
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2017, 13:13
Ответы с готовыми решениями:

Отсортировать текст и найти гласные буквы латинского алфавита
После ввода с клавиатуры произвольного текста отсортировать его и выдать экран соответственно в...

Заменить все малые буквы латинского алфавита на соответствующие большие буквы
Добрый вечер. Помогите, пожалуйста, исправить программу. Задание: Заменить все малые буквы...

Удалить все гласные буквы из строки
СТРОКИ: Удалить все гласные буквы из строки.

Найти все гласные буквы в словах
дано натурально число n ,и символы S1,S2,S3....группа символов ,которые разделены пробелами и не...

2
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.05.2017, 13:51 2
Цитата Сообщение от MarkSD Посмотреть сообщение
представить в более красивом виде
Можно запихать в лямбду/функцию с понятным названием. Тем более, её потом можно передать в STL алгоритм count_if.
Для 6 символ и так пойдёт, но если вам нужно нахождение за константу, используйте поиск по заранее составленному unordered_set/конструкцию switch-case.
В любом случае, как только вынесете эту проверку в отдельную конструкцию, менять будет проще.

Добавлено через 35 минут
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
#include <algorithm>
#include <cctype>
#include <iostream>
#include <unordered_set>
#include <vector>
 
int main()
{
    size_t N;
    (std::cin >> N).get();
    std::vector<int> v(N);
    std::string s;
    auto isVowel = [](const char c) {
        static const std::unordered_set<char> vowels = {'a', 'e', 'i', 'o', 'u', 'y' };
        return vowels.find(std::tolower(c)) != vowels.end();
    };
    for (auto &x : v)
    {
        std::getline(std::cin, s);
        x = std::count_if(s.cbegin(), s.cend(), isVowel);
    }
 
    // выводим результат
    for (const auto &x : v)
        std::cout << x << " ";
}
1
3 / 3 / 1
Регистрация: 02.12.2016
Сообщений: 142
25.05.2017, 14:36  [ТС] 3
ты просто бог. спасибо
0
25.05.2017, 14:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2017, 14:36
Помогаю со студенческими работами здесь

Убрать все гласные буквы со строки
Доброго времени суток уважаемые форумчане, появилась очередная задача которую я так и не смог...

Удалить все гласные буквы из строки
Здравствуйте,помогите составить программу!!! Нужно удалить все глассные буквы из строки используя...

найти в тексте все гласные буквы
Всем привет, подскажите как реализовать данную задачку, найти в тексте все гласные буквы

Подчеркнуть все гласные буквы в строке
Дана строка длиной не более 80 символов, оканчивающаяся точкой. Подчеркнуть все гласные буквы в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru