Título: indicar cual es el numero mas grande y pequeño Publicado por: mort en 4 Enero 2015, 04:07 am como podran darse cuenta soy principiante en esto de la programación en c, y estoy haciendo uno de los ejercicios del libro de deitel que dice que introduzca 3 números diferentes desde el teclado, y saque la suma, el producto, el promedio, el numero mas pequeño y el mas grande, especificando que solo utilice la forma simple de instrucción if que se supone he aprendido hasta ahora, pero no me sale el resultado bien en lo de indicar cual es el numero mayor y menor, ya intente de varias formas y he buscado por Internet ejercicios parecidos para ver cual es mi problema, pero son distintos y no le entiendo, ademas la mayoría usan "for" en esto, y yo no lo puedo usar porque en el libro todavía no veo esa función, tengo que usar if para sacarlo pero no me sale:
#include <stdio.h> int main () { int num1, num2, num3, suma, promedio, producto; printf("introduzca tres enteros diferentes: "); scanf("%d%d%d", &num1, &num2, &num3); suma = num1 + num2 + num3; promedio = (num1 + num2 + num3) / 3; producto = num1 * num2 * num3; printf("la suma es: %d\nel promedio es: %d\nel producto es: %d\n", suma, promedio, producto); /*identficar el numero mayor y menor*/ if (num1 > num2 < num3){ printf("el numero mas pequeño es: %d\n", num2); } if (num2 > num3 < num1){ printf("el numero mas pequeño es: %d\n", num3); } if (num3 > num1 < num2){ printf("el numero mas pequeño es: %d\n", num1); } if (num1 < num2 > num3){ printf("el numero mas grande es: %d\n", num2); } if (num2 < num1 > num3){ printf("el numero mas grande es: %d\n", num1); } if (num1 < num3 > num2){ printf("el numero mas grande es: %d\n", num3); } return 0; } si ejecuto esto y pongo por ejemplo los números: 1, 2, 3 me sale esto: la suma es: 6 el promedio es: 2 el producto es: 6 el numero mas peque±o es: 2 el numero mas peque±o es: 3 el numero mas peque±o es: 1 ¿en que estoy mal :\? Título: Re: indicar cual es el numero mas grande y pequeño Publicado por: cesariox23 en 4 Enero 2015, 05:15 am Hola amigo, digamos que también soy principiante y casualmente también estoy estudiando el excelente libro de Deitel (Cómo programar en C y C++, Cuarta edición), el problema al que haces referencia es sencillo, mas bien si me permites darte un consejo te diría que en todo problema que quieras resolver primero debes redactar su respectivo algoritmo, una vez que el algoritmo está comprobado ahí recién lo codificas a lenguaje C (sería ideal que te consigas un libro de Algorítmica para que conozcas todo lo relacionado a los algoritmos).
Como te dije antes, el problema que nos concierne es bastante sencillo, consiste básicamente en hacer las comparaciones después de capturar cada número, acá te pongo el código. Código
Permíteme explicarte algunos detalles para que quede todo claro. Siempre que quieras imprimir acentos u otras letras como la ñ en C debes colocar el modificador de caracter (%c) y como segundo parámetro del printf debes colocar el número de posición en la tabla ASCII que ocupa la letra que quieres mostrar, la tabla de códigos ASCII es una tabla que va del 0 al 255 donde están representadas la mayoría de las letras. Si quisieras imprimir la palabra "árbol" deberías usar esto: printf("%crbol", 160); Con esto le dice al C que en donde está el indicador %c debe colocar la letra que ocupa el lugar 160 en la tabla ASCII, me refiero a la letra "á". Quizás ya lo hayas visto pero para representar números decimales (float) se utiliza el modificador %f, el %.2f quiere decir que el número debe mostrarse con 2 cifras decimales después del punto, si solo colocas el %f el número decimal se mostrará con 6 decimales (predeterminado). Ante cualquier problema no dudes en consultarme. Título: Re: indicar cual es el numero mas grande y pequeño Publicado por: mort en 4 Enero 2015, 07:36 am muchas gracias por responder, la verdad si me sirvio.
Título: Re: indicar cual es el numero mas grande y pequeño Publicado por: Yoel Alejandro en 5 Enero 2015, 02:00 am Hola mort. La mayoría de los libros usa la estrcutura for, tratándose de una cantidad general de "n" números. Pero si sólo son tres, puede calcularse de forma más "primitiva" con if.
Por supuesto, eso no sería práctico para más de tres números, pero al fin y al cabo el propósito de este ejercicio es netamente pedagógico, la idea es que practiques para ganar destreza. |