এই সমস্যাতে, আমাদের একটি স্ট্রিং str[] দেওয়া আছে যার সাইজ N এবং একটি ইন্টিজার X। আমাদের কাজ হল স্ট্রিং থেকে প্রথম Xটি ভোয়েল (Vowel) প্রিন্ট করার প্রোগ্রাম তৈরি করা।
স্ট্রিং থেকে প্রথম Xটি ভোয়েল প্রিন্ট করব এবং যদি Xটির চেয়ে কম ভোয়েল থাকে, তবে -1 প্রিন্ট করব।
উদাহরণ দেখি:
ইনপুট: str = "learn C programming language", X = 5 আউটপুট: e, a, o, a, i ভোয়েলগুলো হল a, e, i, o, u
সমাধানের পদ্ধতি
একটি সহজ পদ্ধতি হল স্ট্রিং ক্যারেক্টার বাই ক্যারেক্টার ট্রাভার্স করা। এবং স্ট্রিংয়ের সব ভোয়েল একটি ভোয়েল স্ট্রিংয়ে স্টোর করা। এবং যদি এই স্ট্রিংয়ের লেন্থ X-এর সমান হয়, তবে রিটার্ন করা। যদি স্ট্রিংয়ের সব ভোয়েল মিলে X পর্যন্ত পৌঁছাতে না পারে, তবে -1 রিটার্ন করা।
উদাহরণ
#include <iostream> #include <string.h> using namespace std; bool isaVowel(char c){ c = tolower(c); if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') return true; return false; } string findXVowelsString(string s, int x){ string vowelsString = ""; for (int i = 0; i < s.length(); i++) { if (isaVowel(s[i])) vowelsString += s[i]; if (vowelsString.length() == x) { return vowelsString; } } return "-1"; } int main(){ string str = "learn C programming language"; int x = 5; cout<<"The first "<<x<<" vowels from the string are "<<findXVowelsString(str, x); return 0; }
আউটপুট
The first 5 vowels from the string are eaoai