C program to merge two sorted array
#include<stdio.h>
#include<conio.h>
void main()
{ int a[10],b[10],c[20],i,j=0,a_size,b_size;
int *p1,*p2,*p3,*p4;
clrscr();
printf("\nenter the size of A: ");
scanf("%d",&a_size);
printf("\nenter the size of B: ");
scanf("%d",&b_size);
p1=&a[0];
p2=&a[a_size-1];
p3=&b[0];
p4=&b[b_size-1];
printf("\n\ninsert elements of A:(in ascending order)\n");
for(i=0;i<a_size;i++)
{ scanf("%d",&a[i]);
}
printf("\n\ninsert elements of B:(in ascending order)\n");
for(i=0;i<b_size;i++)
{ scanf("%d",&b[i]);
}
if(a_size<=b_size)
{
while(p1<=p2)
{ if(*p1<*p3)
{ c[j]=*p1;
j++;
p1++;
}
else
{ c[j]=*p3;
j++;
p3++;
}
}
while(p3<=p4)
{ c[j]=*p3;
j++;
p3++;
}
}
else
{
while(p3<=p4)
{ if(*p1<*p3)
{ c[j]=*p1;
j++;
p1++;
}
else
{ c[j]=*p3;
j++;
p3++;
}
}
while(p1<=p2)
{ c[j]=*p1;
j++;
p1++;
}
}
printf("\n\nsorted array :\n");
for(i=0;i<j;i++)
{ printf(" %d",c[i]);
}
getch();
}
Comments
Post a Comment