• Viernes 17 de Mayo de 2024, 06:57

Autor Tema:  Re: ordenar numeros  (Leído 1013 veces)

essios

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
    • http://www.essios.es.vg
Re: ordenar numeros
« en: Miércoles 23 de Abril de 2003, 23:56 »
0
verán, esta duda ya la planteé con anterioridad, pero no acabo de aclararme.

quiero ordenar tres numeros introducidos por teclado (supongamos que son diferentes, eso con un while se deja especificao facilmente).

ahora tendria que que emplear varias sentencias IF para comparar los numeros...pero estoy hecho un lio!
---------------------------------------------------------
no busques el como, sino el por qué

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: ordenar numeros
« Respuesta #1 en: Jueves 24 de Abril de 2003, 01:17 »
0
una vez capturados:
 
Código: Text
  1.  
  2. int aux;
  3.  
  4. if (dato1>dato2 && dato1>dato3)
  5. {
  6.     aux=dato3;
  7.     dato3=dato1;
  8.     dato1=aux;
  9. }
  10. else
  11. {
  12.    if (dato2>dato1 && dato2>dato3)
  13.    {
  14.       aux=dato3;
  15.       dato3=dato2;
  16.       dato2=aux;
  17.    }
  18. }
  19. if(dato1 > dato2)
  20. {
  21.       aux=dato1;
  22.       dato1=dato2;
  23.       dato2=aux;
  24. }
  25.  
  26.  

Se puede hacer más corto, pero como veos que no eres muy avanzado he sacrificado algo de eficiencia por claridad.

Pues bien si te fijas lo primero es mirar si el primero es mayor que los otros dos, si esto es asi lo intercambianos con la tercera posicion.
Si no es mayor que los otros dos, miramos si el segundo dato si es mayor que los otros dos, si es mayor lo intercambiamos con el ultimo dato.

asi las cosas solo resta mirar si el actual dato1 es mayor que el acual dato2, si loes , intercambiamos, sino es ques ya estaba bien...y listo asi te queda el menor en dato1 y el mayor en dato2.

Trata de reducir el codigo una vez lo hayas entendido.


chauu :lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

MistMaker

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
ordenar numeros
« Respuesta #2 en: Jueves 1 de Mayo de 2003, 02:45 »
0
como podria reducirse??
para mi eso es lo mas eficiente
LEO