Find Common Elements between Two Arrays in C++

In this tutorial, we will learn how to find common elements between two arrays in C++.

Approach 1

The example program for finding out common elements between two arrays.

#include <iostream>
#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n,m;
  cout<<"Enter the array size of two arrays\n";
    cin>>m>>n;
    int arr1[m],arr2[n];
  cout<<"Enter the array elements\n";
    for(int i=0;i<m;i++)
    {
        cin>>arr1[i];
    }
    for(int i=0;i<n;i++)
    {
        cin>>arr2[i];
    }
    cout<<"\nThe commmon elements are : ";
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(arr1[i]==arr2[j])
            cout<<arr1[i]<<" ";
        }
    }
   return 0;
}

Output :

Enter the array size of two arrays
3 5
Enter the array elements
1 2 3
2 3 4 5 6
The commmon elements are : 2 3

Explanation :

  • At first, we need to take the size of the two arrays from the user.
  • Then, we need to enter the array elements(of two arrays).
  • Then the logic is structured by using two for loops.
  • In the inner for loop, the condition is checked whether the elements of the two arrays are equal or not.in case that is equal then we just print that element.

Approach 2

Below is the example program for finding out common elements between the two arrays using the map.

#include <iostream>
#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n,m; 
    cout<<"Enter the array size of two arrays\n"; 
    cin>>m>>n; 
    int arr1[m],arr2[n]; 
    map<int,int>mp;
    cout<<"Enter the array elements\n"; 
    for(int i=0;i<m;i++) 
    { 
        cin>>arr1[i]; 
        mp[arr1[i]]++;
        
    } 
    for(int i=0;i<n;i++) 
    { 
        cin>>arr2[i]; 
        mp[arr2[i]]++;
    }
    cout<<"The Common elements are : ";
    for(auto it :mp)
    {
        if(it.second>1)
        cout<<it.first<<" ";
    }
    return 0;
}

Output :

Enter the array size of two arrays
2
3
Enter the array elements
1 5
5 2 3    
The Common elements are : 5

Explanation :

  • Even in this approach firstly, we have taken the sizes of two arrays from the user.
  • Then, the user needs to enter the array of elements.
  • Here we are finding the common elements by using a map (key as element and value as its frequency)
  • Whenever we take the elements of the array from the user that element is added to the map so that its frequency gets updated.
  • Then, whichever has the map value as greater than 1 was printed out as a common element.

Leave a Reply

Your email address will not be published.