Cargar dos vectores con caracteres alfabéticos y generar otro donde aparezcan los elementos de los dos vectores fuentes ordenados alfabéticamente y sin elementos repetidos
Código
#include <iostream> using namespace std; int main() { int i=0,x=5,maxi; char vec[5],vec2[5],vecf[10],max; cout << "Primer vector" << endl; cout << "Ingrese las letras una por una" << endl; for (i=0;i<5;i++) //se carga el primer vector { cin >> vec[i]; } cout << "Segundo vector" << endl; cout << "Ingrese las letras una por una" << endl; for (i=0;i<5;i++) //se carga el segundo { cin >> vec2[i]; } for (i=0;i<5;i++) //meto el primer vector en uno auxiliar { vecf[i] = vec[i]; } for (i=0;i<5;i++) //meto el segundo vector en el auxiliar { vecf[x] = vec2[i]; x++; } for (i=0;i<10;i++) { max = vecf[i]; maxi = i; for (x=0;x<10-i;x++) { if ((int)vecf[x] > (int)max) { max = vecf[x]; maxi = x; } } for (x=maxi;x>=i;x--) { vecf[x] = vecf[x-1]; } vecf[i] = max; } for (i=0;i<10;i++) { cout << vecf[i] << " "; } return 0; }
alguien me dice en que me estoy equivocando?
Como lo tengo ahora devuelve 10 veces la letra mas alta
o sea que supongo que la parte donde piso esa letra mas alta que encontro moviendo todo lo que esta adelante para atras una posicion esta andando mal
Código
for (x=maxi;x>=i;x--) { vecf[x] = vecf[x-1]; } vecf[i] = max;
Edito:
Ya lo solucione, tenia dos errores tontos
lo dejo como estaba ahi, por si alguno quiere pensarlo un ratito