কম্পিউটার

C++ এ দুটি স্ট্রিং-এ সাধারণ অক্ষর গণনা করুন


আমাদেরকে str1 এবং str2 বলে দুটি স্ট্রিং দেওয়া হয়েছে এবং কাজটি হল দুটি স্ট্রিং-এ সাধারণ অক্ষরের গণনা খুঁজে বের করা, অর্থাৎ যদি str1[i] =str[j] হয়, তাহলে সেগুলিকে জোড়া হিসেবে গণ্য করা হবে এবং সংখ্যা বৃদ্ধি পাবে। 1 থেকে এবং যদি str1[i]!=str2[j] হয়, তাহলে তাদের জোড়া হিসেবে গণ্য করা হবে না এবং গণনা 1-এ বাড়বে না।

উদাহরণস্বরূপ

Input − str1 = “hello”
      str2 = “heoo”
Output − count is: 3

ব্যাখ্যা − str1[0] =str2[0] অর্থাৎ h; str1[1] =str2[1] অর্থাৎ e; str1[2]!=str2[2] অর্থাৎ l এবং o; str1[3]=str2[3] অর্থাৎ o সুতরাং, অনুরূপ অক্ষর সহ জোড়া 3 এবং 1 জোড়া বিভিন্ন অক্ষর ধারণকারী।

Input − str1 = “point”
      str2 = “print”
Output − 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] অর্থাৎ টি. সুতরাং, অনুরূপ অক্ষর সহ জোড়া 4 এবং 1 জোড়া বিভিন্ন অক্ষর ধারণকারী।

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • str1 এবং str2

    দুটি স্ট্রিং ইনপুট করুন
  • length() ফাংশন ব্যবহার করে উভয় স্ট্রিং এর আকার গণনা করুন যা স্পেস সহ স্ট্রিং এর অক্ষর সংখ্যা অনুযায়ী একটি পূর্ণসংখ্যা মান প্রদান করবে।

  • প্রাথমিকভাবে, উভয় স্ট্রিং-এ অক্ষরের ফ্রিকোয়েন্সি 0 দিয়ে শুরু করুন।

  • এখন, 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. C++ এ দুটি বাইনারি স্ট্রিং যোগ করার জন্য প্রোগ্রাম