Программа C++ для расчета количества гласных, цифр и пробелов в строке

Вот пример программы на C++, которая принимает на вход строку и подсчитывает количество гласных, цифр и пробелов:

#include <iostream>
#include <cctype>
int main() {
    std::string str;
    std::cout << "Enter a string: ";
    std::getline(std::cin, str);
    int vowelCount = 0;
    int digitCount = 0;
    int spaceCount = 0;
    for (char c : str) {
        if (std::isalpha(c)) {
            char lowercaseC = std::tolower(c);
            if (lowercaseC == 'a' || lowercaseC == 'e' || lowercaseC == 'i' ||
                lowercaseC == 'o' || lowercaseC == 'u') {
                vowelCount++;
            }
        } else if (std::isdigit(c)) {
            digitCount++;
        } else if (std::isspace(c)) {
            spaceCount++;
        }
    }
    std::cout << "Number of vowels: " << vowelCount << std::endl;
    std::cout << "Number of digits: " << digitCount << std::endl;
    std::cout << "Number of white spaces: " << spaceCount << std::endl;
    return 0;
}

В этой программе мы используем цикл для перебора каждого символа во входной строке. Затем мы проверяем, является ли символ гласной, цифрой или пробелом, используя функции std::isalpha(), std::isdigit()и . std::isspace()соответственно. Счетчики соответственно увеличиваются.

Вот несколько альтернативных методов расчета:

  1. Регулярные выражения. Вы можете использовать регулярные выражения для сопоставления гласных, цифр и пробелов в строке и подсчета совпадений.

  2. Алгоритмический подсчет. Вы можете использовать такие алгоритмы, как std::count_if(), и предоставлять соответствующие предикаты для подсчета гласных, цифр и пробелов.

  3. Оператор Switch: вместо использования нескольких операторов ifвы можете использовать оператор switchдля проверки каждого символа и увеличения соответствующего счетчика.