C/Visual C - 3 NUMEROS Y DECIR CUAL ES EL MAYOR

 
Vista:

3 NUMEROS Y DECIR CUAL ES EL MAYOR

Publicado por jorge (2 intervenciones) el 09/03/2004 19:31:19
Que tal, les recuerdo q soy novato en esto y agradesco su ayuda de antemano, la cosa esta así:
debía hacer un programa q me diga que numero de 3 q el usuario intrusca el el mayor, en un inicio hice algo asi:
if (a>b && b>c) toncs A es mayor
if (b>a && b>c) toncs B es mayor
if (c>a && c>b) toncs C es mayor

pero pues ahi hay muchas otras cosas q validar, lo mostre al maestro de mi clase, pero me dijo q no lo queria con &&, que usara alguna validacion con 2 numero unicamente y q usara el minimo de if posibles, toncs hice algo asi:

if (a>b)
if (a>c)
"A es mayor"
else
"C es mayor"
else
if (b>c)
"B es mayor"
else
"C es mayor"

ahora creo yo q como lo puse anteriormente si corre bien, aunq no estoy seguro si sea la forma mas sencilla,, es decir, habra alguna otra forma de hacerlo?? talvez usando menos if, pero sin usar &&??

y una pregunta mas, con el codigo anterior, segun yo solo funciona si me dan 3 numeros distintos, x q si me dan 2 iguales y 1 distinto, o 3 iguales, o esas cosillas, creo q ustedes ya saben a todo lo q se debe validar para q un numero de 3 sea el mayor,, podrian ayudarme poniendo el codigo de como seria el programa de la forma mas corta posible ??? y de preferencia usando solo if, ya q es el tema de la clase, los if anidados, aunq si se debe usar otra cosa, ponganla, no importa, sirve q voy aprendiendo mas,

GRACIAS, ojala me puedan ayudar,,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:3 NUMEROS Y DECIR CUAL ES EL MAYOR

Publicado por Nasón (40 intervenciones) el 09/03/2004 21:29:51
Puedes resolver el problema utilizando el operador condicional ?: y comparando dos a dos.
Imagina que tienes en memoria los números n1, n2 y n3 y has declarado la variable mayor.
Primero comparamos n1 con n2 y asignamos el más grande a la variable mayor de la siguiente forma:
mayor = (n1>n2) ? n1 : n2;
si n1 es mayor que n2 se asigna el valor del primero a mayor, si es más pequeño se asigna el valor n2.
Solo queda comparar con n3, esto podemos hacerlo de la misma forma:
mayor = (mayor > n3) ? mayor : n3;
Después de esto la variable mayor contendrá el valor buscado.
Como puedes ver, ni siquiera se ha utilizado una vez el if.

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:3 NUMEROS Y DECIR CUAL ES EL MAYOR

Publicado por jorge (2 intervenciones) el 09/03/2004 21:39:26
GRACIAS AMIGO,,
eso esta muy bien, aunq no creas q entendi muy bien el x q se pone n1 : n2 pero ya mas o menos entendi como seria con la forma q tu mencionas.
gracias,,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:3 NUMEROS Y DECIR CUAL ES EL MAYOR

Publicado por Nasón (40 intervenciones) el 09/03/2004 23:23:45
Te transcribo el apartado donde se explica el operador del libro "Curso de programación C/C++" de Fco. Javier Ceballos Sierra:
C tiene un operador ternario (?:) que se utiliza en expresiones condicionales, las cuales tienen la forma:
operando1 ? operando2 : operando3
El valor resultante de la expresión operando1 debe ser de tipo entero, real o puntero. La ejecución se realiza de la siguiente forma:
Si el resultado de la evaluación de operando1 es distinta de 0 (verdadero), el resultado de la expresión condicional es operando2.
Si el resultado es 0 (falso), el resultado de la expresión condicional es operando3

Espero que esto te ayude a comprender del todo la solución propuesta en el mensaje anterior.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar