Program to count vowels in a string (Iterative and Recursive)
Last Updated :
16 Feb, 2023
Improve
Given a string, count the total number of vowels (a, e, i, o, u) in it. There are two methods to count total number of vowels in a string.
- Iterative
- Recursive
Examples:
Input : abc de Output : 2 Input : geeksforgeeks portal Output : 7
1. Iterative Method:
Below is the implementation:
// C++ program to count vowels in a string
#include<iostream>
using namespace std;
// Function to check the Vowel
bool isVowel(char ch)
{
ch = toupper(ch);
return (ch=='A' || ch=='E' || ch=='I' ||
ch=='O' || ch=='U');
}
// Returns count of vowels in str
int countVowels(string str)
{
int count = 0;
for (int i=0; i<str.length(); i++)
if (isVowel(str[i])) // Check for vowel
++count;
return count;
}
// Main Calling Function
int main()
{
//string object
string str = "abc de";
// Total numbers of Vowel
cout << countVowels(str) << endl;
return 0;
}
// Java program to count vowels in a string
public class GFG {
// Function to check the Vowel
static boolean isVowel(char ch)
{
ch = Character.toUpperCase(ch);
return (ch=='A' || ch=='E' || ch=='I' ||
ch=='O' || ch=='U');
}
// Returns count of vowels in str
static int countVowels(String str)
{
int count = 0;
for (int i = 0; i < str.length(); i++)
if (isVowel(str.charAt(i))) // Check for vowel
++count;
return count;
}
// Driver code
public static void main(String args[])
{
//string object
String str = "abc de";
// Total numbers of Vowel
System.out.println(countVowels(str));
}
}
// This code is contributed by Sumit Ghosh
# Python3 program to count vowels
# in a string
# Function to check the Vowel
def isVowel(ch):
return ch.upper() in ['A', 'E', 'I', 'O', 'U']
# Returns count of vowels in str
def countVowels(str):
count = 0
for i in range(len(str)):
# Check for vowel
if isVowel(str[i]):
count += 1
return count
# Driver Code
# string object
str = 'abc de'
# Total number of Vowels
print(countVowels(str))
# This code is contributed
# by SamyuktaSHegde
// C# program to count vowels in a string
using System;
class GFG
{
// Function to check the Vowel
public static bool isVowel(char ch)
{
ch = char.ToUpper(ch);
return (ch == 'A' || ch == 'E' ||
ch == 'I' || ch == 'O' ||
ch == 'U');
}
// Returns count of vowels in str
public static int countVowels(string str)
{
int count = 0;
for (int i = 0; i < str.Length; i++)
{
// Check for vowel
if (isVowel(str[i]))
{
++count;
}
}
return count;
}
// Driver code
public static void Main(string[] args)
{
//string object
string str = "abc de";
// Total numbers of Vowel
Console.WriteLine(countVowels(str));
}
}
// This code is contributed by Shrikant13
<?php
// PHP program to count vowels in a string
// Function to check the Vowel
function isVowel($ch)
{
$ch = strtoupper($ch);
return ($ch =='A' || $ch =='E' ||
$ch =='I' || $ch =='O' ||
$ch =='U');
}
// Returns count of vowels in str
function countVowels($str)
{
$count = 0;
for ($i = 0; $i < strlen($str); $i++)
if (isVowel($str[$i])) // Check for vowel
++$count;
return $count;
}
// Driver Code
//string object
$str = "abc de";
// Total numbers of Vowel
echo countVowels($str) . "\n";
// This code is contributed
// by Akanksha Rai
?>
<script>
// JavaScript program to count vowels in a string
// Function to check the Vowel
function isVowel(ch) {
ch = ch.toUpperCase();
return ch == "A" || ch == "E" || ch == "I" || ch == "O" || ch == "U";
}
// Returns count of vowels in str
function countVowels(str)
{
var count = 0;
for (var i = 0; i < str.length; i++)
if (isVowel(str[i]))
// Check for vowel
++count;
return count;
}
// Main Calling Function
// string object
var str = "abc de";
// Total numbers of Vowel
document.write(countVowels(str));
document.write("<br>");
// This code is contributed by rdtank.
</script>
Output
2
Time Complexity: O(n), where n is the length of the string
Auxiliary Space: O(1)
2. Recursive Method:
Below is the implementation:
// Recursive C++ program to count the total
// number of vowels using recursion
#include<iostream>
using namespace std;
// Function to check the Vowel
bool isVowel(char ch)
{
ch = toupper(ch);
return (ch=='A' || ch=='E' || ch=='I' ||
ch=='O' || ch=='U');
}
// to count total number of vowel from 0 to n
int countVovels(string str, int n)
{
if (n == 1)
return isVowel(str[n-1]);
return countVovels(str, n-1) + isVowel(str[n-1]);
}
// Main Calling Function
int main()
{
// string object
string str = "abc de";
// Total numbers of Vowel
cout << countVovels(str, str.length()) << endl;
return 0;
}
// Recursive Java program to count the total
// number of vowels using recursion
public class GFG {
// Function to check the Vowel
static int isVowel(char ch)
{
ch = Character.toUpperCase(ch);
if(ch=='A' || ch=='E' || ch=='I' ||
ch=='O' || ch=='U')
return 1;
else return 0;
}
// to count total number of vowel from 0 to n
static int countVowels(String str, int n)
{
if (n == 1)
return isVowel(str.charAt(n - 1));
return countVowels(str, n-1) + isVowel(str.charAt(n - 1));
}
// Main Calling Function
public static void main(String args[])
{
//string object
String str = "abc de";
// Total numbers of Vowel
System.out.println(countVowels(str,str.length()));
}
}
// This code is contributed by Sumit Ghosh
# Recursive Python 3 program to count the
# total number of vowels using recursion
# Function to check the Vowel
def isVowel(ch):
return ch.upper() in ['A', 'E', 'I', 'O', 'U']
# to count total number of
# vowel from 0 to n
def countVovels(str, n):
if (n == 1):
return isVowel(str[n - 1]);
return (countVovels(str, n - 1) +
isVowel(str[n - 1]));
# Driver Code
# string object
str = "abc de";
# Total numbers of Vowel
print(countVovels(str, len(str)))
# This code is contributed
# by Akanksha Rai
using System;
// Recursive C# program to count the total
// number of vowels using recursion
public class GFG
{
// Function to check the Vowel
public static int isVowel(char ch)
{
ch = char.ToUpper(ch);
if (ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U')
{
return 1;
}
else
{
return 0;
}
}
// to count total number of vowel from 0 to n
public static int countVowels(string str, int n)
{
if (n == 1)
{
return isVowel(str[n - 1]);
}
return countVowels(str, n - 1) + isVowel(str[n - 1]);
}
// Main Calling Function
public static void Main(string[] args)
{
//string object
string str = "abc de";
// Total numbers of Vowel
Console.WriteLine(countVowels(str,str.Length));
}
}
// This code is contributed by Shrikant13
<?php
// Recursive PHP program to count the total
// number of vowels using recursion
// Function to check the Vowel
function isVowel($ch)
{
$ch = strtoupper($ch);
return ($ch == 'A' || $ch == 'E' ||
$ch == 'I' || $ch == 'O' ||
$ch == 'U');
}
// to count total number of
// vowel from 0 to n
function countVovels($str, $n)
{
if ($n == 1)
return isVowel($str[$n - 1]);
return countVovels($str, $n - 1) +
isVowel($str[$n - 1]);
}
// Driver Code
// string object
$str = "abc de";
// Total numbers of Vowel
echo countVovels($str, strlen($str)) . "\n";
// This code is contributed
// by Akanksha Rai
?>
<script>
// Recursive JavaScript program to count the total
// number of vowels using recursion
// Function to check the Vowel
function isVowel(ch)
{
ch = ch.toUpperCase();
return (ch=='A' || ch=='E' || ch=='I' ||
ch=='O' || ch=='U');
}
// to count total number of vowel from 0 to n
function countVovels(str,n)
{
if (n == 1)
return isVowel(str[n-1]);
return countVovels(str, n-1) + isVowel(str[n-1]);
}
// Main Calling Function
// string object
let str = "abc de";
// Total numbers of Vowel
document.write(countVovels(str, str.length));
// This code is contributed by shinjanpatra
</script>
Output
2
Time Complexity: O(n), where n is the length of the string
Auxiliary Space: O(n), where n is the length of the string since the function is calling itself n times.
How Recursive Code Working.