আমাদের দুটি স্ট্রিং দেওয়া আছে, ধরুন str1 এবং str2 এবং কাজ হল দুটি স্ট্রিং-এ সাধারণ ক্যারেক্টারের সংখ্যা বের করা অর্থাৎ যদি str1[i] = str2[j] হয়, তবে সেটি একটি জোড়া হিসেবে বিবেচিত হবে এবং কাউন্ট ১ বাড়বে এবং যদি str1[i]!=str2[j] হয় তবে সেটি জোড়া হিসেবে বিবেচিত হবেনা এবং কাউন্ট বাড়বেনা।
উদাহরণ
ইনপুট − str1 = "hello" str2 = "heoo" আউটপুট − count is: 3
ব্যাখ্যা − str1[0] = str2[0] অর্থাৎ h ; str1[1] = str2[1] অর্থাৎ e ; str1[2]!=str2[2] অর্থাৎ l এবং o; str1[3]=str2[3] অর্থাৎ o। সুতরাং, মিলে যাওয়া অক্ষরের জোড়া ৩টি এবং ভিন্ন অক্ষরের ১টি জোড়া।
ইনপুট − str1 = "point" str2 = "print" আউটপুট − count is: 4
ব্যাখ্যা − str1[0] = str2[0] অর্থাৎ p ; str1[1] != str2[1] অর্থাৎ o এবং r ; str1[2] =str2[2] অর্থাৎ i; str1[3]=str2[3] অর্থাৎ n; str1[4]=str2[4] অর্থাৎ t। সুতরাং, মিলে যাওয়া অক্ষরের জোড়া ৪টি এবং ভিন্ন অক্ষরের ১টি জোড়া।
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতি নিম্নরূপ
দুটি স্ট্রিং str1 এবং str2 ইনপুট নিন
length() ফাংশন ব্যবহার করে দুটি স্ট্রিংর আকার বের করুন যা স্ট্রিং-এ থাকা অক্ষরের সংখ্যা অনুযায়ী ইন্টিজার ভ্যালু ফেরত দেবে।
প্রাথমিকভাবে, দুটি স্ট্রিং-এ ক্যারেক্টার ফ্রিকোয়েন্সি ০ দিয়ে ইনিশিয়ালাইজ করুন।
এখন, str1-এর ফ্রিকোয়েন্সি আপডেট করার জন্য "f1[str1[i] - 'a']++" ব্যবহার করুন যা প্রতিটি ইটারেশনে ফ্রিকোয়েন্সি বাড়াবে এবং str2-র জন্যও একই প্রক্রিয়া করুন
বৈধ জোড়ার কাউন্ট বের করতে f1 এবং f2-র জন্য min() ফাংশন ব্যবহার করুন।
ফলাফল দেখান
उदाहरण
#include <iostream> using namespace std; // Function to count the valid indices pairs int pairs(string str1, int size1, string str2, int size2){ // f1 and f2 for frequencies of characters // of string str1 and str2 int f1[26] = { 0 }; int f2[26] = { 0 }; // 'c' To count the valid pairs int i, c = 0; //updating the frequencies of str1 and st2 for (i = 0; i < size1; i++){ f1[str1[i] - 'a']++; } for (i = 0; i < size2; i++){ f2[str2[i] - 'a']++; } // Find the count of valid pairs for (i = 0; i < 26; i++){ c += (min(f1[i], f2[i])); } return c; } // main function int main(){ string str1 = "tutorialspoint", str2 = "codingground"; int size1 = str1.length(), size2 = str2.length(); cout<<"Total pairs with str1[i]=str2[j] are: "; cout << pairs(str1, size1, str2, size2); return 0; }
आउटपुट
যদি উপরের কোডটি চালানো হয় তবে নিম্নলিখিত আউটপুট জেনারেট হবে −
Total pairs with str1[i]=str2[j] are − 6