#include<stdio.h>
#include<conio.h>
void main()
{
void read(int *,int);
void display(int *,int);
void sort(int *,int);
void mergelist(int *,int *,int *,int);
int a[5],b[5],c[10];
clrscr();
printf("Enter the elements for the first array \n");
read(a,5);
printf("The elements of first array are : \n");
display(a,5);
printf("Enter the elements for the second array \n");
read(b,5);
printf("The elements of second array are : \n");
display(b,5);
sort(a,5);
printf("The sorted first array in decending order are :\n");
display(a,5);
sort(b,5);
printf("The sorted second array in decending order are :\n");
display(b,5);
mergelist(a,b,c,5);
printf("The elements of merged list is \n");
display(c,10);
getch();
}
void read(int c[],int i)
{
int j;
for(j=0;j<i;j++)
scanf("%d",&c[j]);
}
void display(int d[],int i)
{
int j;
for(j=0;j<i;j++)
printf("%d ",d[j]);
printf("\n");
}
void sort(int arr[] ,int k)
{
int temp;
int i,j;
for(i=0;i<k;i++)
{
for(j=0;j<k-i-1;j++)
{
if(arr[j]<arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
void mergelist(int a[],int b[],int c[],int k)
{
int ptra=0,ptrb=0,ptrc=0;
while(ptra<k && ptrb<k)
{
if(a[ptra] < b[ptrb])
{
c[ptrc]=b[ptrb];
ptrb++;
}
else
{
c[ptrc]=a[ptra];
ptra++;
}
ptrc++;
}
while(ptra<k)
{
c[ptrc]=a[ptra];
ptra++;ptrc++;
}
while(ptrb<k)
{
c[ptrc]=b[ptrb];
ptrb++; ptrc++;
}
}

