কম্পিউটার টিউটোরিয়াল

সি++-এ দুটি স্ট্রিং-এ সাধারণ ক্যারেক্টার গণনা


আমাদের দুটি স্ট্রিং দেওয়া আছে, ধরুন 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

  1. সন্নিহিত অক্ষরের পার্থক্য ১ হলে স্ট্রিং গণনা (C++ প্রোগ্রাম)

  2. রেঞ্জে দুটি সংখ্যার সাধারণ গুণিতক (গ্রে টাইল) গণনা C++-এ

  3. C++-এ দুটি স্ট্রিংয়ের আনকমন ক্যারেক্টার বের করা

  4. সি++-এ দুটি বাইনারি স্ট্রিং যোগ করার প্রোগ্রাম