স্ট্রিংয়ের ভিতর কতটি ভাওয়েল (vowel), কনসোন্যান্ট (consonant), ডিজিট (digit) এবং হোয়াইটস্পেস (space) আছে তা গণনা করা যায়।
উদাহরণ
String: "Abracadabra 123" Vowels: 5, Consonants: 6, Digits: 3, White spaces: 1
উদাহরণ কোড
#include <iostream>
using namespace std;
int main() {
char str[] = "Abracadabra 123";
int vowels = 0, consonants = 0, digits = 0, spaces = 0;
for (int i = 0; str[i] != '\0'; ++i) {
char ch = str[i];
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' ||
ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U') {
++vowels;
} else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
++consonants;
} else if (ch >= '0' && ch <= '9') {
++digits;
} else if (ch == ' ') {
++spaces;
}
}
cout << "The string is: " << str << endl;
cout << "Vowels: " << vowels << endl;
cout << "Consonants: " << consonants << endl;
cout << "Digits: " << digits << endl;
cout << "White spaces: " << spaces << endl;
return 0;
}
আউটপুট
The string is: Abracadabra 123 Vowels: 5 Consonants: 6 Digits: 3 White spaces: 1
ব্যাখ্যা
- একটি লুপে সব ক্যারেক্টার চেক করা হয়।
if-else ifচেইন দিয়ে ক্যাটেগরি নির্ধারণ।- ভাওয়েল চেক কেস-ইনসেনসিটিভ (বড়/ছোট হাতের অক্ষর)।
- অন্যান্য ক্যারেক্টার (পাংচুয়েশন, ট্যাব, নিউলাইন) কোনো ক্যাটেগরিতে না পড়লে কাউন্ট হয় না।
উন্নতি: isalpha(), isdigit(), isspace(), tolower() (<cctype>) ব্যবহার করলে কোড ক্লিন হয়।