Skip to main content

Merge Arrays : Merge Two Arrays Of Different Size In C++

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

Popular posts from this blog

C++ Vector : Basics Of Vector in C++ STL

In C++, Vector is unlike array, it stores different data types such as int, double, string, float, etc. It works like the dynamic array with the ability to resize automatically itself. Vector stores data in the contiguous memory location. Two functions are needed to traverse from starting to end that is begin() and end() functions.                               Syntax of the vector declaration:-             vector<data_type> variable_name (number_of_elements);  Here number_of_elements is optional, we can also declare a vector with empty vector that contains zero elements. The data_type in the angle-brackets indicates any type of data type which is valid in c++. Vector declaration examples:- vector<int> numbers (10); //In this example, we declared a vector name number of 10 integers. vector<string> names;  //In this, a vector name declared of string. In eve...

Data Structure And Algorithm Important Topics Overview

  Overview Of Data Structures And Algorithms This post will give you the clear idea about learning data structures and algorithms . So, Data structure? => In computer science a data structure is a data organization , management and storage format that enables efficient access and modification. Or in the other words it is a way in which data is stored on a computer. Types of data structures:- Array  String Stack Queue Linked List  Binary Tree Binary Search Tree Heap Hash Table Graph Above topics, array is a linear data structure which stores the data in the sequence order, dynamic array, every data is stored in the next contiguous memory location.   String is a collection of characters. If it contains the alphabets and it also uses the digit as character. If a string is composed of numbers and characters then numbers are also treated as characters. Stack is also a linear data structure. It works either on Last In First Out or First In Last Out . It has only one ...