- Escriba un algoritmo que lea dos arreglos de números enteros ordenados ascendentemente y luego produzca la lista ordenada de la mezcla de los dos.
#include <iostream>
using namespace std;
int main()
{
int lar1,lar2,i,largo,aux;
cout<<"Ingrese largo del primer arreglo: ";cin>>lar1;
cout<<"Ingrese largo del segundo arreglo: ";cin>>lar2;
largo=lar1+lar2;
int a1[lar1],a2[lar2],a3[largo];
cout<<"___________________________________"<<endl;
cout<<"------ llenar primer arreglo -----"<<endl;
for(i=0;i<lar1;i++){
cout<<"Ingrese valor "<<i+1<<" ; ";cin>>a1[i];
}
cout<<"Arreglo1 ordenado : [ ";
for(i=0;i<lar1;i++){
cout<<a1[i]<<" ";
}
cout<<"]"<<endl;
cout<<"___________________________________"<<endl;
cout<<"------ llenar segundo arreglo -----"<<endl;
for(i=0;i<lar2;i++){
cout<<"Ingrese valor "<<i+1<<" ; ";cin>>a2[i];
}
cout<<"Arreglo2 ordenado : [ ";
for(i=0;i<lar2;i++){
cout<<a2[i]<<" ";
}
cout<<"]"<<endl;
cout<<"___________________________________"<<endl;
for(i=0;i<largo;i++){
if(i<lar1){
a3[i]=a1[i];
//cout<<"entro en if :"<<a3[i]<<endl;
}
else{
a3[i]=a2[i-lar1];
//cout<<"entro en else :"<<a3[i]<<endl;
}
}
for(i=0;i<largo;i++){
for(int j=0;j<largo-1;j++){
if(a3[j]>a3[j+1]){
aux=a3[j];
a3[j]=a3[j+1];
a3[j+1]=aux;
}
}
}
cout<<"Arreglo ordenado : [ ";
for(i=0;i<largo;i++){
cout<<a3[i]<<" ";
}
cout<<"]"<<endl;
cout<<"___________________________________"<<endl;
return 0;
}
No hay comentarios:
Publicar un comentario