हमें दो स्ट्रिंग्स के साथ दिया गया है, मान लें कि 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] यानी एच; str1[1] =str2[1] यानी ई; 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] यानी मैं; str1[3]=str2[3] यानी n; str1[4]=str2[4] यानी t. तो, समान अक्षरों वाले जोड़े 4 और 1 जोड़े हैं जिनमें अलग-अलग अक्षर हैं।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
दो स्ट्रिंग्स str1 और str2 इनपुट करें
-
लंबाई () फ़ंक्शन का उपयोग करके दोनों स्ट्रिंग्स के आकार की गणना करें जो रिक्त स्थान सहित स्ट्रिंग में अक्षरों की संख्या के अनुसार एक पूर्णांक मान लौटाएगा।
-
प्रारंभ में, दोनों स्ट्रिंग में वर्णों की आवृत्ति को 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