Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda con codigo

Estas en el tema de Duda con codigo en el foro de C/C++ en Foros del Web. Hola! Navegando por la red encontre el siguiente codigo el cual ordena 3 numeros de menor a mayor pero hay una parte que en realidad ...
  #1 (permalink)  
Antiguo 07/04/2011, 16:19
Avatar de George1217  
Fecha de Ingreso: junio-2009
Ubicación: Mexico
Mensajes: 164
Antigüedad: 14 años, 10 meses
Puntos: 8
Duda con codigo

Hola!

Navegando por la red encontre el siguiente codigo el cual ordena 3 numeros de menor a mayor pero hay una parte que en realidad no comprendo del todo, dentro de la parte de codigo donde estan los IF's no entiendo como funcionan ahi X y Y, cual es su uso dentro de los IF.

Si alguien me pudiera explicar un poco se los agradeceria

Código c++:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. main() {
  5.        
  6. int a,b,c;
  7. int x,y;
  8.        
  9. printf("Seleccione un numero\n");
  10. scanf ("%d",&a);
  11. printf("Seleccione un numero\n");
  12. scanf ("%d",&b);
  13. printf("Seleccione un numero\n");
  14. scanf ("%d",&c);
  15.  
  16. printf("Valores Sin Orden %d",a);
  17. printf(" %d",b);
  18. printf(" %d",c);  
  19.  
  20. [COLOR="Red"][B]if(c<b)
  21.    {
  22.     x=c;
  23.     y=b;                /* comparacion entre el 3er y 2do valor */
  24.     b=x;
  25.     c=y;
  26.    }
  27.  if(b<a)
  28.    {
  29.     x=b;
  30.     y=a;                /* comparacion entre el 2do y 1er valor */
  31.     a=x;
  32.     b=y;
  33.    }
  34.  if(c<b)
  35.    {
  36.     x=c;
  37.     y=b;                /* comparacion entre el 3er y 2do valor */
  38.     b=x;
  39.     c=y;
  40.    }[/B][/COLOR]
  41.  
  42.    
  43.  
  44. printf("\nValores Ordenados %d",a);
  45. printf(" %d",b);
  46. printf(" %d",c);
  47.  
  48. return 0;
  49.  
  50. }

- Gracias
__________________
Yo Ho! Yo Ho!

Última edición por George1217; 07/04/2011 a las 18:34
  #2 (permalink)  
Antiguo 08/04/2011, 01:01
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: Duda con codigo

Son variables auxiliares para no perder los valores durante el cambio. Se puede hacer perfectamente con una variable solo.

Lo que hay que hacer aqui, por ejemplo, es poner el valor de c en b y de b en c.

Código C++:
Ver original
  1. if(c<b)
  2.    {
  3.     x=c;
  4.     y=b;                /* comparacion entre el 3er y 2do valor */
  5.     b=x;
  6.     c=y;
  7.    }

Se puede hacer así, con sólo una variable auxiliar.

Código C++:
Ver original
  1. if(c<b)
  2.    {
  3.     x=c;
  4.     c=b;                /* comparacion entre el 3er y 2do valor */
  5.     b=x;
  6.    }
  #3 (permalink)  
Antiguo 10/04/2011, 18:35
Avatar de George1217  
Fecha de Ingreso: junio-2009
Ubicación: Mexico
Mensajes: 164
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: Duda con codigo

Gracias por tu respuesta Heimish2000, tratare de probarlo con 1 sola variable!
__________________
Yo Ho! Yo Ho!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:24.