একটি স্ট্রিং থেকে স্বরবর্ণ বের করতে হলে স্ট্রিং-এর প্রতিটি ক্যারেক্টার এর মাধ্যমে ইটারেট করতে হয়। এখানে আমাদের স্ট্রিং-এর মধ্য দিয়ে যেতে পয়েন্টার ব্যবহার করতে হবে। এর জন্য আমাদের C-স্টাইল স্ট্রিং দরকার। যদি স্ট্রিং str দ্বারা পয়েন্ট করা হয়, তবে *str শুরুতে প্রথম ক্যারেক্টার ধারণ করবে। তারপর যদি str বাড়ানো হয়, তবে *str নেক্সট ক্যারেক্টার পয়েন্ট করবে এবং এভাবে চলে। যদি ক্যারেক্টার [a,e,i,o,u] বা [A, E, I, O, U]-তে থাকে তবে এটি স্বরবর্ণ। তাই আমরা কাউন্ট বাড়াব।
অ্যালগরিদম
countVowels(str)
begin
count := 0
for each character ch in str, do
if ch is in [a,e,i,o,u] or [A, E, I, O, U], then
count := count + 1
end if
done
return count
end
উদাহরণ
#include<iostream>
using namespace std;
int countVowels(const char *myStr){
int count = 0;
while((*myStr) != '\0'){
if(*myStr == 'a' || *myStr == 'e' || *myStr == 'i' || *myStr == 'o' || *myStr == 'u' || *myStr == 'A' || *myStr == 'E' || *myStr == 'I' || *myStr == 'O' || *myStr == 'U') {
count++;
}
myStr++;
}
return count;
}
main() {
string myStr;
cout << "Enter String: ";
cin >> myStr;
cout << "Number of Vowels: " << countVowels(myStr.c_str());
}
আউটপুট
Enter String: EDucation Number of Vowels: 5