elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C++] Acomodar vector de mayor a menor
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [C++] Acomodar vector de mayor a menor  (Leído 7,272 veces)
PiroskY

Desconectado Desconectado

Mensajes: 76


пирожки


Ver Perfil
[C++] Acomodar vector de mayor a menor
« en: 2 Octubre 2010, 05:59 am »

Ejercicio:
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
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.    int i=0,x=5,maxi;
  7.    char vec[5],vec2[5],vecf[10],max;
  8.    cout << "Primer vector" << endl;
  9.    cout << "Ingrese las letras una por una" << endl;
  10.    for (i=0;i<5;i++) //se carga el primer vector
  11.    {
  12.        cin >> vec[i];
  13.    }
  14.    cout << "Segundo vector" << endl;
  15.    cout << "Ingrese las letras una por una" << endl;
  16.    for (i=0;i<5;i++) //se carga el segundo
  17.    {
  18.        cin >> vec2[i];
  19.    }
  20.    for (i=0;i<5;i++) //meto el primer vector en uno auxiliar
  21.    {
  22.        vecf[i] = vec[i];
  23.    }
  24.    for (i=0;i<5;i++) //meto el segundo vector en el auxiliar
  25.    {
  26.        vecf[x] = vec2[i];
  27.        x++;
  28.    }
  29.    for (i=0;i<10;i++)
  30.    {
  31.        max = vecf[i];
  32.        maxi = i;
  33.        for (x=0;x<10-i;x++)
  34.        {
  35.            if ((int)vecf[x] > (int)max)
  36.            {
  37.                max = vecf[x];
  38.                maxi = x;
  39.            }
  40.        }
  41.        for (x=maxi;x>=i;x--)
  42.        {
  43.            vecf[x] = vecf[x-1];
  44.        }
  45.        vecf[i] = max;
  46.    }
  47.    for (i=0;i<10;i++)
  48.    {
  49.        cout << vecf[i] << " ";
  50.    }
  51. return 0;
  52. }
  53.  

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
  1.        for (x=maxi;x>=i;x--)
  2.        {
  3.            vecf[x] = vecf[x-1];
  4.        }
  5.        vecf[i] = max;
  6.  


Edito:
Ya lo solucione, tenia dos errores tontos :P
lo dejo como estaba ahi, por si alguno quiere pensarlo un ratito :P


« Última modificación: 2 Octubre 2010, 07:10 am por PiroskY » En línea

fary
Colaborador
***
Desconectado Desconectado

Mensajes: 958



Ver Perfil WWW
Re: [C++] Acomodar vector de mayor a menor
« Respuesta #1 en: 2 Octubre 2010, 12:11 pm »

Intenta optimizar el code... se puede acortar.

salu2!


En línea

Un byte a la izquierda.
PiroskY

Desconectado Desconectado

Mensajes: 76


пирожки


Ver Perfil
Re: [C++] Acomodar vector de mayor a menor
« Respuesta #2 en: 2 Octubre 2010, 20:35 pm »

Intenta optimizar el code... se puede acortar.

salu2!

asi?

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.    char vec1[5],vec2[5],vecaux[10],aux;
  7.    int i;
  8.    bool ordenado = false;
  9.    cout << "Primer vector" << endl;
  10.    cout << "Ingrese las letras una por una" << endl;
  11.    for (i=0;i<5;i++)
  12.    {
  13.        cin >> vec1[i];
  14.    }
  15.    cout << "Segundo vector" << endl;
  16.    cout << "Ingrese las letras una por una" << endl;
  17.    for (i=0;i<5;i++)
  18.    {
  19.        cin >> vec2[i];
  20.    }
  21.    for (i=0;i<5;i++)
  22.    {
  23.        vecaux[2*i] = vec1[i];
  24.        vecaux[2*i+1] = vec2[i];
  25.    }
  26.    while (ordenado == 0)
  27.    {
  28.        ordenado = true;
  29.        for (i=0;i<9;i++)
  30.        {
  31.            if (vecaux[i] > vecaux[i+1])
  32.            {
  33.                aux = vecaux[i];
  34.                vecaux[i] = vecaux[i+1];
  35.                vecaux[i+1] = aux;
  36.                ordenado = false;
  37.            }
  38.        }
  39.    }
  40.    for (i=0;i<10;i++)
  41.    {
  42.        cout << vecaux[i] << " ";
  43.    }
  44. return 0;
  45. }
  46.  
« Última modificación: 2 Octubre 2010, 20:37 pm por PiroskY » En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: [C++] Acomodar vector de mayor a menor
« Respuesta #3 en: 2 Octubre 2010, 20:56 pm »

Sí, pero ten en cuenta que las instrucciones de una sola sentencia no hace falta poner llaves :rolleyes:

Saludos :P
En línea

PiroskY

Desconectado Desconectado

Mensajes: 76


пирожки


Ver Perfil
Re: [C++] Acomodar vector de mayor a menor
« Respuesta #4 en: 2 Octubre 2010, 21:18 pm »

no entendi :x
En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: [C++] Acomodar vector de mayor a menor
« Respuesta #5 en: 2 Octubre 2010, 21:39 pm »

Por ejemplo:

Código
  1. #include <cstdio>
  2.  
  3. int main()
  4. {
  5. int a = 1;
  6. int b = 1;
  7.  
  8. if(a == b) //Esto es una instrucción
  9. {
  10. printf("'a' equivale a 'b'."); //Esto es una sentencia
  11. }
  12.  
  13. getchar();
  14.  
  15. return 0;
  16. }

La instrucción, en este caso if(), tiene UNA sentencia, por lo tanto se puede substituir por:

Código
  1. #include <cstdio>
  2.  
  3. int main()
  4. {
  5. int a = 1;
  6. int b = 1;
  7.  
  8. if(a == b) printf("'a' equivale a 'b'.");
  9.  
  10. getchar();
  11.  
  12. return 0;
  13. }

Y así te ahorras muchas líneas absurdas ;)

Saludos :P
« Última modificación: 3 Octubre 2010, 18:41 pm por Horricreu » En línea

PiroskY

Desconectado Desconectado

Mensajes: 76


пирожки


Ver Perfil
Re: [C++] Acomodar vector de mayor a menor
« Respuesta #6 en: 2 Octubre 2010, 21:50 pm »

ahh gracias, lo voy a tener en cuenta para proximos programas ^^
En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: [C++] Acomodar vector de mayor a menor
« Respuesta #7 en: 2 Octubre 2010, 21:52 pm »

De nada ::)

Saludos :P
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [C++] Acomodar vector de mayor a menor
« Respuesta #8 en: 2 Octubre 2010, 23:10 pm »

Horricreu, poner dos sentencias o instrucciones en una línea es un mal hábito de programación, por favor no lo aconsejes.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: [C++] Acomodar vector de mayor a menor
« Respuesta #9 en: 3 Octubre 2010, 09:38 am »

No es un mal hábito, simplemente te ahorras las llaves. ¡UNA sola sentencia! En una sentencia tampoco se escribe el gran código.

Saludos :P
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Programita de Numero mayor y menor
Scripting
~ Ghost_Networks ~ 1 38,855 Último mensaje 8 Diciembre 2010, 18:39 pm
por ChicoMaravilla
ordenar de mayor a menor 5 numeros ingresados x el teclado!!!
ASM
XxArCaNgElxX 0 16,718 Último mensaje 20 Mayo 2011, 21:19 pm
por XxArCaNgElxX
Duda en programa: Mayor, menor y media de n números. [solucionado]
Programación C/C++
Manimecker 4 16,204 Último mensaje 21 Octubre 2011, 06:16 am
por Manimecker
DETERMINAR MAYOR O MENOR EN ARREGLO
Programación C/C++
wazausky 2 1,676 Último mensaje 12 Noviembre 2012, 14:53 pm
por leosansan
mayor y menor en un vector
Programación C/C++
jonathan1099 3 1,445 Último mensaje 30 Septiembre 2016, 18:37 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines