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

Подсчет русских букв в строке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для каждого положительного элемента определить, есть ли в массиве отрицательный элемент с противоположным з http://www.cyberforum.ru/cpp-beginners/thread1817723.html
Позязя. Нужна помощь с решением C: Полное условие. Для каждого положительного элемента определить, есть ли в массиве отрицательный элемент с противоположным значением; если да, заменить эти элементы...
C++ Удалить строку из файла, состоящую из других строк К примеру, есть файл, в нем 3 строки. (50:50) (200:110) (95:150) (50:50) (50:50) (200:110) (95:150) (50:50) (0:120) (215:40) (3:3) (4:4) (50:50) (50:50) (0:120) (215:40) (3:3) (4:4) (50:50) В... http://www.cyberforum.ru/cpp-beginners/thread1817716.html
как задействовать оператор continue? C++
Написал программу для демонстрации работы оператора continue. Компилятор ругается, пишет что оператор не в петле. Программу списал из книжки. Все почти один в один. #include <cstdlib> #include...
C++ Программа аварийно завершается с ошибкой "map/set iterators are incompatible"
Добрый день! Проблема такая: в s1 и s2 рандомно добавляю числа, хочу найти объединение этих множеств. Если использовать такой код, то все в порядке, НО результатом является объединение множеств, т.к....
C++ Не могу найти ошибку: в двумерном массиве надо удалять столбцы, в которых есть 0 http://www.cyberforum.ru/cpp-beginners/thread1817671.html
int** form_mas2(int n, int m) { int **matr = new int*; for (int i = 0; i<n; i++) matr = new int; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { matr = rand() % 100...
C++ Задача про монеты Привет. Задача: По кругу расположено N монет гербами вверх и M монет гербами вниз. Обходя круг по ходу часовой стрелки, переворачивает каждую S -тую монету. В первый раз счет начинается с герба. В... подробнее

Показать сообщение отдельно
edol1
0 / 0 / 0
Регистрация: 17.03.2016
Сообщений: 34

Подсчет русских букв в строке - C++

02.10.2016, 16:10. Просмотров 338. Ответов 3
Метки (Все метки)

Всем привет Есть такая задача: Ввести с клавиатуры строку. Определить, сколько в этой строке гласных, согласных, строчных и прописных русских букв. Я начал написание программы с такого кода:
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
#include <iostream>
#include <conio.h>
#include <string>
 
using namespace std;
 
int main() {
    setlocale(0, "");
    system("cls");
    system("color 0E");
 
    char vowels[20] = { 'а', 'у', 'о', 'ы', 'и', 'э', 'я', 'ю', 'ё', 'е', 'А', 'У', 'О', 'Ы', 'И', 'Э', 'Я', 'Ю', 'Ё', 'Е' };
    char consonants[42] = { 'б', 'в', 'г', 'д', 'ж', 'з', 'й', 'к', 'л', 'м', 'н', 'п', 'р', 'с', 'т', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'Б', 'В', 'Г', 'Д', 'Ж', 'З', 'Й', 'К', 'Л', 'М', 'Н', 'П', 'Р', 'С', 'Т', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ' };
    int vowels_quantity = 0, consonants_quantity = 0;
    string str;
 
    cout << "Введите строку: ";
    getline(cin, str);
 
    for (int i = 0; i <= (int)str.size(); i++) {
        for (int v = 0; v <= 19; v++)
            if (str[i] == vowels[v]) vowels_quantity += 1;
        
        for (int c = 0; c <= 41; c++)
            if (str[i] == consonants[c]) consonants_quantity += 1;
    }
 
    cout << "Гласных букв: " << vowels_quantity;
    cout << "\nСогласных букв: " << consonants_quantity;
 
    _getch();
    return 0;
}
Но программа работает некорректно В чём моя ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.