Autor
|
Tema: ayuda compañeros! programa c ordenar mayor a menor (Leído 12,868 veces)
|
shikidos
Desconectado
Mensajes: 6
|
Hola compañeros, trate de hacer un programa que ordene los numeros de mayor a menor pero al correr salen muchos ceros y parece que tiene algun fallo, pero no se cual es, podrian ayudarme? en seguida coloco el codigo #include <stdio.h> main(){ int a, b, c, d, e, nm1, nm2, nm3, nm4, nm5; printf("Por favor introduzca 5 numeros separados por un espacio, en seguida se ordenaran de mayor a menor.\n"); scanf("f%, f%, f%, f%, f%", a , b , c , d , e ); if (a >= b){ nm1 = a; nm2 = b; } else { nm1 = b; nm2 = a; } if (c >= d){ nm3 = c; nm4 = d; } else { nm3 = d; nm4 = c; } if (nm3 >= nm1){ nm1 = c; nm3 = a; } else { nm1 = a; nm3 = c; } if (nm4 >= nm2){ nm2 = d; nm4 = b; } else { nm2 = b; nm4 = d; } if (e >= nm1 & nm3){ nm2 = nm1; nm3 = nm2; nm4 = nm3; nm5 = nm4; c = nm1; } else { e = nm5; } printf("Gracias! aqui estan tus numeros ordenados:\n %f, %f, %f, %f, %f", nm1 , nm2 , nm3 , nm4 , nm5 ); return 0; }
Mod: Tema modificado. Para hacer tu código más visible usa las etiqueta GeSHi
|
|
« Última modificación: 19 Enero 2015, 04:02 am por engel lex »
|
En línea
|
|
|
|
engel lex
|
problema 1: en el scanf el parámetro "f%" está mal escrito... es con el "%" antecediendo al indicador tal que "%f" problema 2: todas tus variables son de tipo int, "%f" captura floats... debes usar "%d" problema 3: para el ultimo printf también debes usar "%d" problema 4: los parametros para scanf deben pasar referenciados es decir con "&" antes de cada variable ej:
por ultimo, no entiendo la lógica de tu programa... pero está mal... modifiqué tu código para hacerlo más visible, procura usar etiquetas GeSHi
|
|
« Última modificación: 19 Enero 2015, 04:15 am por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
shikidos
Desconectado
Mensajes: 6
|
muchas gracias, por la ayuda con el codigo y por la informacion, es la primera vez que posteo y que hago un programa... la proxima tratare de postearlo correctamente  regresando al codigo... lo cambie con tus recomendaciones pero me sigue saliendo algo asi...  supongo que algo esta mal en mi codigo, no logro entender que es, podria alguien orientarme para que funcione correctamente?
|
|
|
En línea
|
|
|
|
engel lex
|
publica como quedó tu codigo
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
shikidos
Desconectado
Mensajes: 6
|
asi quedo ya modificado... #include <stdio.h> main(){ int a, b, c, d, e, nm1, nm2, nm3, nm4, nm5; printf("Por favor introduzca 5 numeros separados por un espacio, en seguida se ordenaran de mayor a menor.\n"); scanf("%d, %d, %d, %d, %d", &a , &b , &c , &d , &e ); if (a >= b){ nm1 = a; nm2 = b; } else { nm1 = b; nm2 = a; } if (c >= d){ nm3 = c; nm4 = d; } else { nm3 = d; nm4 = c; } if (nm3 >= nm1){ nm1 = c; nm3 = a; } else { nm1 = a; nm3 = c; } if (nm4 >= nm2){ nm2 = d; nm4 = b; } else { nm2 = b; nm4 = d; } if (e >= nm1 & nm3){ nm2 = nm1; nm3 = nm2; nm4 = nm3; nm5 = nm4; c = nm1; } else { e = nm5; } printf("Gracias! aqui estan tus numeros ordenados:\n %d, %d, %d, %d, %d", nm1 , nm2 , nm3 , nm4 , nm5 ); return 0; }
|
|
|
En línea
|
|
|
|
engel lex
|
el error está en linea 5... scanf("%d, %d, %d, %d, %d", &a , &b , &c , &d , &e );
el espera que introduzcas un numero, coloques una coma, un espacio y repitas... cuidado con esos errores que son los más comunes jejeje
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
shikidos
Desconectado
Mensajes: 6
|
perfecto! ahora eso esta bien, pero creo que la logica de mi codigo esta mal, como dijiste,  si le pogo comentarios al codigo de que traate de hacer con cada if, crees que podrias orientarme?
|
|
|
En línea
|
|
|
|
engel lex
|
tienes alguna limitación? no puedes usar ciclos?
lo más practico es que hicieras un ordenamiento de burbuja
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
shikidos
Desconectado
Mensajes: 6
|
lo que pasa es que me pidieron solo utilizar los if...
|
|
|
En línea
|
|
|
|
engel lex
|
muchos if anidados jejeje
realmente te toca hacer un ordenamiento a mano jejeje te recomiendo que busques metodos de ordenamientos de array y apliques esa logica jejeje
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
programa en vb (ordenar de mayor a menor)
Programación Visual Basic
|
jjam45
|
1
|
9,930
|
19 Febrero 2006, 18:36 pm
por jjam45
|
|
|
Ordenar número de mayor a menor
« 1 2 »
Programación Visual Basic
|
Nessito
|
14
|
17,429
|
19 Mayo 2007, 20:09 pm
por Nessito
|
|
|
ordenar de mayor a menor 5 numeros ingresados x el teclado!!!
ASM
|
XxArCaNgElxX
|
0
|
19,628
|
20 Mayo 2011, 21:19 pm
por XxArCaNgElxX
|
|
|
Ordenar valores de menor a mayor en una LisBox
.NET (C#, VB.NET, ASP)
|
Usuario 202
|
5
|
9,724
|
16 Junio 2016, 23:42 pm
por Eleкtro
|
|
|
MOVIDO: Ordenar valores de menor a mayor en una LisBox
Programación Visual Basic
|
Eleкtro
|
0
|
2,087
|
15 Junio 2016, 00:52 am
por Eleкtro
|
|