Count the number of vowels in C++

Understanding Vowel Counting

Vowel counting involves determining the number of vowels (a, e, i, o, u) in a given string.

We will explore three different methods to count the vowels in a string using C++.

Method 1: Using a Loop

This method iterates through the string and counts each vowel.

#include <iostream>
#include <cctype>
using namespace std;

int countVowels(string str) {
    int count = 0;
    for (char ch : str) {
        ch = tolower(ch);
        if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
            count++;
        }
    }
    return count;
}

int main() {
    string str;
    cout << "Enter a string: ";
    getline(cin, str);
    cout << "Number of vowels: " << countVowels(str) << endl;
    return 0;
}
            
Input: Hello World
Output: Number of vowels: 3

Method 2: Using Recursion

This method counts vowels recursively.

#include <iostream>
#include <cctype>
using namespace std;

int countVowelsRecursive(string str, int index) {
    if (index == str.length()) return 0;
    char ch = tolower(str[index]);
    int count = (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') ? 1 : 0;
    return count + countVowelsRecursive(str, index + 1);
}

int main() {
    string str;
    cout << "Enter a string: ";
    getline(cin, str);
    cout << "Number of vowels: " << countVowelsRecursive(str, 0) << endl;
    return 0;
}
            
Input: Programming
Output: Number of vowels: 3

Method 3: Using Pointer

This method uses pointers to traverse the string and count vowels.

#include <iostream>
#include <cctype>
using namespace std;

int countVowelsPointer(const char* str) {
    int count = 0;
    while (*str) {
        char ch = tolower(*str);
        if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
            count++;
        }
        str++;
    }
    return count;
}

int main() {
    string str;
    cout << "Enter a string: ";
    getline(cin, str);
    cout << "Number of vowels: " << countVowelsPointer(str.c_str()) << endl;
    return 0;
}
            
Input: Count Vowels
Output: Number of vowels: 4
Strings

Below You will find some of the most important codes in languages like C, C++, Java, and Python. These codes are of prime importance for college semester exams and online tests.

Getting Started

Check whether a character is a vowel or consonant: C C++ Java Python

Check whether a character is an alphabet or not: C C++ Java Python

Find the ASCII value of a character: C C++ Java Python

Length of the string without using strlen() function: C C++ Java Python

Toggle each character in a string: C C++ Java Python

Count the number of vowels: C C++ Java Python

Remove the vowels from a string: C C++ Java Python

Check if the given string is Palindrome or not: C C++ Java Python

Print the given string in reverse order: C C++ Java Python

Remove all characters from string except alphabets: C C++ Java Python

Remove spaces from a string: C C++ Java Python

Replace a sub-string in a string: C C++ Java Python

Count common sub-sequences in two strings: C C++ Java Python

Compare two strings with wildcard support in one of them: C C++ Java Python

List all permutations of a given string in dictionary order: C C++ Java Python

Operations on Strings: C C++ Java Python