// Interclasarea a doua tablouri unidimensionala in C++
#include<iostream.h>
int a[25],b[25],c[50];
int n,m,i,j,k;
void main(void)
{
cout<<"Introduceti lungimile celor 2 vectori a si b= ";
cin>>m>>n;
//Cititi elementele celor 2 vectori ordonati crescatori
for(i=1;i<=m;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
for(i=1;i<=n;i++)
{
cout<<"b["<<i<<"]=";
cin>>b[i];
}
//Interclasarea
i=1;
j=1;
k=0;
while((i<=m)&&(j<=n))
{if(a[i]<b[j])
{
k++;
c[k]=a[i]; // adaug la sirul c un element din a
i++;
}else {
k++;
c[k]=b[j];
j++;
}}
// Adaugam elementele ramase neparcurse
if(i<=m)
{
while(i<=m)
{
k++;
c[k]=a[i]; // copiez la sfarsitul sirului c elementele ramase din a
i++;
}
}
if(j<=n)
{
while(j<=n)
{
k++;
c[k]=b[j]; // copiez la sfarsitul sirului c elementele ramase din b
j++;
}
}
//Afisez vectorul interclasat
for(i=1;i<=k;i++) // sirul c are lungimea k=m+n
cout<<c[i]<<" ";
}