একটি স্ট্রিং অ্যারে str[] এবং একটি প্যাটার্ন স্ট্রিং pat দেওয়া আছে। লক্ষ্য হল str[]-এ যেসব স্ট্রিং pat দিয়ে শেষ হয়েছে, তাদের সংখ্যা বের করা।
প্রতিটি স্ট্রিং ট্রাভার্স করে শেষের ক্যারেক্টারগুলো pat-র সাথে মিলিয়ে দেখা হয়। মিললে কাউন্ট বাড়ানো হয়।
ইনপুট: str[] = {"kittens", "hens", "deers", "dogs"}, pat = "ens"
আউটপুট: প্যাটার্ন দিয়ে শেষ হওয়া স্ট্রিং: ২
ব্যাখ্যা: "kittens" এবং "hens" — "ens" দিয়ে শেষ হয়েছে।
ইনপুট: str[] = {"tickets", "wickets", "bats", "cricket"}, pat = "et"
আউটপুট: সংখ্যা: ১
ব্যাখ্যা: "wickets" — "et" দিয়ে শেষ হয়েছে।
- স্ট্রিং অ্যারে str[], প্যাটার্ন pat, এবং স্ট্রিং সংখ্যা N নেওয়া হয়।
endPattern(string str[], int n, string ptr)ফাংশন কাউন্ট রিটার্ন করে।- প্রতিটি স্ট্রিং s এর জন্য শেষ থেকে pat-এর সাথে ক্যারেক্টার মিলিয়ে চেক করা হয়।
- সফল হলে count বাড়ানো হয়।
#includeusing namespace std; int endPattern(string str[], int n, string ptr){ int count = 0; for(int i = 0; i < n; i++){ string s = str[i]; int slen = s.length(); int plen = ptr.length(); int flag = 1; slen--; plen--; while(plen >= 0){ if(ptr[plen] != s[slen]){ flag = 0; break; } plen--; slen--; } if(flag == 1) count++; } return count; } int main(){ string patrn = "pes"; int N = 4; string str[] = { "stripes", "cars", "ripes", "pipes" }; cout << "প্যাটার্ন দিয়ে শেষ হওয়া স্ট্রিং: " << endPattern(str, N, patrn); return 0; }
উপরোক্ত কোড রান করলে আউটপুট:
প্যাটার্ন দিয়ে শেষ হওয়া স্ট্রিং: ৩