Merge Two Arrays C++ Program
C++ program to merge two arrays of different size. First array size is m and second array size is n. The size of the first array is greater than the first array i.e. m>n.
Algorithm:-
- Enter the size of first array m.
- Enter the size of 2nd array n.
- Enter the elements of 1st and 2nd array and number of elements of first array should be greater than the number of elements of second array.
- After m index of first array, insert the element of second array into the first array up to m+n-1.
- Sort the merge array of size m+n.
- Display the first array, which will display all the elements of the merge array of size m+n.
Program:-
#include<iostream>
using namespace std;
int main()
{
int i,n,m,a[15],b[5],j;//array a[] and b[] are declared
cout<<"Enter the size 1st array:-"<<endl;
cin>>m;
cout<<"Enter the size of 2nd array(n<m):-"<<endl;
cin>>n;
cout<<"Enter the elements of 1st array, m elements:-"<<endl;
for(i=0;i<m;i++)
{
cin>>a[i];//enter the elements of the first array
}
cout<<"Enter the elements of 2nd array:-"<<endl;
for(i=0;i<n;i++)
{
cin>>b[i]; // enter the elements of second array
}
j=m; // j is initialized to m, the ending index of the first array.
for(i=0;i<n;i++)
{
a[j]=b[i];
j++; //incrementing the j from m to m+n-1 to insert the elements of second array
}
//sorting the m+n array or merge array
for(i=0;i<m+n;i++)
{
for(j=0;j<(m+n);j++)
{
if(a[i]>a[j])
{
int temp=a[j];//int temp array is declared and it contained first element of 2nd array
a[j]=a[i];
a[i]=temp;
}
}
}
int mid=(m+n)/2;
cout<<"Merge m+n array:-"<<endl;
for(i=m+n-1;i>=0;i--)
{
cout<<a[i]<<" ";
}
return 0;
}
Output:-
Enter the size 1st array:-
5
Enter the size 2nd array:-
8
Enter the elements of 1st array, m elements:-
6 8 9 2 12 52 34 78
Enter the elements of n array:-
34 67 90 62 70
Merge m+n array:-
2 6 8 9 12 34 34 52 62 67 70 78 90
Explanation:-
In this program, we have entered the size of both the array and entered the elements of both the array according to the size of the arrays. We have already declared the array with the size such as a[15] and b[5]. It means the maximum number of elements array a[] can hold is 15 and array b[] can hold 5. We can also change the size of array in the code or we can pass first size of array a[] and b[] as m and n respectively. After that we can declare the array such as a[m] and b[n].
Comments
Post a Comment