sâmbătă, 8 septembrie 2018

Interclasare siruri sortate

# include <stdio.h>;
# include <conio.h>;

int n,m,a[100],b[100],c[200];
int i,j,k;

void main(void)
{
clrscr();

//Citire vectori
printf("Intr nr de elem din primul sir: ");
 scanf("%d",&n);
printf("Intr nr de elem din al doilea sir: ");
 scanf("%d",&m);
printf("\nIntr elementele primului sir:\n");
for(i=0;i<n;i++)
 scanf("%d",&a[i]);
printf("\nIntr elementele din al doilea sir:\n");
for(j=0;j<m;j++)
 scanf("%d",&b[j]);

//Interclasare
i=0;
j=0;
k=0;
while((i<n)&&(j<m))
{
if(a[i]<b[j])
 c[k++]=a[i++];
else
 c[k++]=b[j++];
}
//Copierea elementelor ramase
if(i>=n)
 for(i=j;i<m;i++)
  c[k++]=b[i];
if(j>=m)
 for(j=i;j<n;j++)
  c[k++]=a[j];

//Afisare rezultat
printf("\nVectorii interclasati :\n");
for(k=0;k<m+n;k++)
printf("%d ",c[k]);

getche();
}

Niciun comentariu:

Trimiteți un comentariu