Program 1
// Program for Merge Sort
#include<iostream>
#define clrscr() system("cls")
using namespace std;
void abc(int []);
int main()
{
int a[500],b[500],c[1000],m,n,i,j,temp,k;
clrscr();
again: cout<<"\nEnter limit of first array\n";
cin>>m;
if(m>500)
{
cout<<"\nInvalid limit please enter between 1-500\n";
goto again;
}
else
{
cout<<"\nEnter element in first array\n";
for(i=0;i<m;i++)
cin>>a[i];
// sorting or first array
for(i=0;i<m;i++)
{
for(j=i+1;j<m;j++)
{
if(a[j]<a[i])
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
// cout<<"First Sorted Array";
// for(i=0;i<m;i++)
// cout<<"\n"<<a[i];
}
again1: cout<<"\nEnter limit of second array\n";
cin>>n;
if(n>500)
{
cout<<"\nInvalid limit please enter between 1-500\n";
goto again1;
}
else
{
cout<<"\nEnter element in second array\n";
for(i=0;i<n;i++)
cin>>b[i];
// sorting or second array
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(b[j]<b[i])
{
temp=b[j];
b[j]=b[i];
b[i]=temp;
}
}
}
// cout<<"Second Sorted Array";
// for(i=0;i<n;i++)
// cout<<"\n"<<b[i];
}
//Merege sort
i=0;
j=0;
k=0;
while(i<m && j<n)
{
if(a[i]<b[j])
c[k]=a[i++];
else
c[k]=b[j++];
k++;
}
if(i==m)
{
while(j<n)
{
c[k]=b[j];
j++;
k++;
}
}
if(j==n)
{
while(i<m)
{
c[k]=a[i];
i++;
k++;
}
}
cout<<"\n Sorted elements ";
for(i=0;i<(m+n);i++)
{
cout<<"\n"<<c[i];
}
}