Título: ayuda con practica Publicado por: urvreak en 24 Enero 2011, 01:36 am tengo que hacer un programa en c, que lea cinco numeros enteros, y que de esos saque el mayor y menor, solo puedo usar if, sin else o then, y no puedo usar nada mas que eso con printf y scanf... alguna idea?.
el problema no me lo dio nadie, estoy aprendiendo c\c++ por mi cuenta y el libro: como programar en c/c++ me dio este problema :S Título: Re: ayuda con practica Publicado por: .:Snifer:. en 24 Enero 2011, 02:20 am Emm si te la dio un libro, y supuestamente estas aprendiendo deberias de realizarlo solo.. y muestras tus avances y con gusto te podremos decir donde esta tu error..
El foro no es para hacer tareas.. Saludos :P Título: Re: ayuda con practica Publicado por: urvreak en 24 Enero 2011, 02:23 am jaaaj es que no tengo la mas minima idea, por eso pregunto.. segui adelante porque si por lo menos usara while podria hacerlo.
aca tengo problema con este ejercicio que hice: #include <stdio.h> int main() { int numero; printf("ponga un num\n"); scanf("%d\n, &numero"); if ((numero % 2) == 0) { printf("numero par\n"); } printf("numero impar\n"); getchar(); return 0; } termina la secuencia en error Título: Re: ayuda con practica Publicado por: N0body en 24 Enero 2011, 02:54 am Te creo que no te lo dio nadie, porque he leído otro post tuyo donde decía que estabas aprendiendo de no sé cual manual...
Lo recomendable sería que uses iteraciones (bucles), si sólo quieres saber el mayor y el menor... Osea, imaginate que tu eres la computadora y tienes que determinar cuál es el mayor de n números... ¿Qué hacés tú en tú cabeza para hacer esto? Podrías explicarlo, y no hacerlo de forma intuitiva? Y, lo más obvio que se te ocurrirá será que compararás el primero con el segundo, te memorizarás el mayor y lo compararaás con el tercero, memorizarás el mayor de ésta nueva comparación y pasarás al cuarto y harás esto con todos los números... En el caso que todavía no hayas llegado a las iteraciones (el uso de instrucciones for, while...) y lo tengas que hacer con if te recomiendo que si sabes usar else, lo uses, el programa será más óptimo... Sino, también se puede hacer sin else, pero hará más preguntas de las necesarias ¿entiendes? Es que cuando tu preguntas algo, tanto la respuesta afirmativa como la negativa te dan informacion y tienes que aprovechar ambas... de no usar el else estarías haciendo una mala práctica, a mi criterio... Bueno, imagina que son 3 números (a, b y c) en vez de 5 y yo hago: ¿a es mayor que b y éste último a su vez mayor que c? SI--> camino 1 NO-->camino 2 Camino 1: (en esta situación tendríamos en orden descendente "a,b,c") Entonces el mayor es a... Camino 2: (en esta situación tendríamos en orden descendente "b,a,c" o "b,c,a" o "c,b,a" o "c,a,b" ) Entonces, nos bastará preguntar: ¿b es mayor que c? SI-->camino 2-1 NO-->camino 2-2 Camino 2-1: el mayor es b Camino 2-2 el mayor es c Bueno, espero que veas así claramente que la respusta dicotómica (si o no) ofrece información que no debe ser desperdiciada... Obviamente que pordías preguntar a es mayor que b, y a es mayor que c? SI--> a es el mayor de los tres Punto y aparte b es mayor que a, y b es mayor que c? SI--> b es el mayor de los tres Punto y aparte c es mayor que b, y c es mayor que a? SI--> c es el mayor de los tres Punto y aparte Pero sería, repito, un desperdicio de preguntas Título: Re: ayuda con practica Publicado por: urvreak en 24 Enero 2011, 03:04 am muchas gracias por la respuesta, este metodo yo lo usaba en pascal el año pasado.. queria saber si habia otra forma solo usando eso..
ahora con este segundo ejercicio, si tuve un problema, nose si sera que no uso el else, o then .. pero me da error.. estos ejercicios me dice de solo hacerlo hasta if, lo otro recien para el siguiente capitulo :S Título: Re: ayuda con practica Publicado por: do-while en 24 Enero 2011, 04:24 am ¡Buenas!
con solo if lo puedes hacer de forma bien sencilla: Código: leer numero min <- numero max <- numero inicio: leer numero si numero < min min <- numero fin si si numero > max max <- numero fin si fin: volver a repetir el codigo que hay entre inicio y fin tantas veces como numeros tenga la lista menos uno. Como ves con tres variables puedes obtener, usando solo if, el minimo y el maximo de todos los numeros que quieras. ¡Saludos! Título: Re: ayuda con practica Publicado por: leogtz en 24 Enero 2011, 08:34 am Corrige la línea del scanf() a esto:
Código: scanf("%d", &numero); Título: Re: ayuda con practica Publicado por: urvreak en 24 Enero 2011, 12:39 pm muchas gracias a todos por su ayuda! mas tarde probare todo lo que dijeron!..
ahora en un momento les muestro el codigo terminado :P |