jueves, 5 de mayo de 2016


  • 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