 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Count common characters in two strings in C++
We are given with the two strings let’s say str1 and str2 and the task is to find the count of common characters in two strings i.e. if str1[i] = str[j], then they will be considered as a pair and count will increased to 1 and if str1[i]!=str2[j] then they willn’t be considered as a pair and count willn’t increase to 1.
For Example
Input − str1 = “hello” str2 = “heoo” Output − count is: 3
Explanation − str1[0] = str2[0] i.e. h ; str1[1] = str2[1] i.e. e ; str1[2]!=str2[2] i.e. l and o; str1[3]=str2[3] i.e. o. So, the pairs with similar letters are 3 and 1 pair containing different letters.
Input − str1 = “point” str2 = “print” Output − count is: 4
Explanation − str1[0] = str2[0] i.e. p ; str1[1] != str2[1] i.e. o and r ; str1[2] =str2[2] i.e. i; str1[3]=str2[3] i.e. n; str1[4]=str2[4] i.e. t. So, the pairs with similar letters are 4 and 1 pair containing different letters.
Approach used in the below program is as follows
- Input the two strings str1 and str2 
- Calculate the size of both the strings using length() function that will return an integer value as per the number of letters in the string including the spaces. 
- Initially, Initialize the frequency of characters in both the string with 0. 
- Now, for updating the frequency of str1 apply “f1[str1[i] - 'a']++” that will increase the frequency with every iteration and apply the same process with str2 
- For calculating the count of pairs apply min() function for f1 and f2. 
- Display the result 
Example
#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; }  Output
If we run the above code it will generate the following output −
Total pairs with str1[i]=str2[j] are − 6
