- Se ingresan 2 vectores ordenados (no debe ordenarse el vector suponemos que el usuario los ingresa en orden) y sin repetir los numeros, generar un 3er vector apartir de estos que tambien este ordenado.
ejemplo:
Ingreso lo siguiente
V1: 1, 3 , 5, 6, 8, 10 (vector ingresado por el usuario en forma ordenada)
V2: 0, 2, 4, 7, 9 (vector ingresado por el usuario en forma ordenada)
El resultado deberia ser:
V3: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (vector generado ordenadamente)
Codigo:
#include <iostream>
using namespace std;
int main()
{
int V1[100],V2[100],V3[200];
int n1,n2,n3,i,j,k,l;
/*
cout<<"Ingrese la dimension del vector 1 ";
cin>>n1;
cout<<"Ingrese los elementos del vector 1"<<endl;
for(i=0;i<n1;i++)
{
cin>>V1[i];
}
cout<<"Ingrese la dimension del vector 2 ";
cin>>n2;
cout<<"Ingrese los elementos del vector 2"<<endl;
for(i=0;i<n2;i++)
{
cin>>V2[i];
}
*/
n1=6;
V1[6]=(1,3,5,6,8,10);
n2=5;
V2[5]=(0,2,4,7,9);
j=0;//indice para el primer vector
k=0;//indice para el segundo vector
l=0;//indice para el tercer vector
while ((j<n1)&&(k<n2))
{
cout<<V1[j]<<"<"<<V2[k]<<"?"<<endl;
if(V1[j]<V2[k])
{
V3[l]=V1[j];
cout<<"saco de v1 el "<<V1[j]<<endl;
j++;
}
else
{
V3[l]=V2[k];
cout<<"saco de v2 el "<<V2[k]<<endl;
k++;
}
l++;
system("pause");
}
for(i=j;i<n1;i++)
{
V3[l]=V1[i];
l++;
}
for(i=k;i<n2;i++)
{
V3[l]=V2[i];
l++;
}
n3=l;// tamaño del vector tres
cout<<"El Vector 3 es"<<endl;
for(i=0;i<n3;i++)
{
cout<<V3[i]<<endl;
}
system("pause");
return 0;
}
Nota: en el codigo esta resuelto con varios "cout" que van mostrando el funcionamiento paso a paso de las decisiones del "if", deje comentado el ingreso manual de cada vector, y lo cargue al vector desde el codigo.