guzzox Posted April 4, 2012 Report Share Posted April 4, 2012 Hola, quería saber si me podían orientar pues tengo control y necesito saber cómo hacer lo siguiente: 3. Ingresar 20 numeros al programa Que el programa imprima el menor de los numeros ingresado y que imprima el mayor de los numeros ingresados. ¿Alguna idea de cómo puedo hacerlo? Se me ocurre usando if y &&, pero terminaría con un gran desorden y mil if. Gracias Link to comment Share on other sites More sharing options...
Leoxz Posted April 4, 2012 Report Share Posted April 4, 2012 te enseñaron usar arreglos y recorrerlos ? despues de eso con un simple if lo puedes hacer saludos Link to comment Share on other sites More sharing options...
Leoxz Posted April 4, 2012 Report Share Posted April 4, 2012 http://www.fismat.umich.mx/mn1/manual/node6.html después con eso lo recorres con un for y haces un if y vas sobreescribiendo un variable saludos Link to comment Share on other sites More sharing options...
guzzox Posted April 4, 2012 Author Report Share Posted April 4, 2012 qué son arreglos? No cacho...me han enseñado while, for, if, scanf, printf, esas cosas básicas recién Link to comment Share on other sites More sharing options...
Leoxz Posted April 4, 2012 Report Share Posted April 4, 2012 (edited) es que como tú dices, tendrías que hacer muchos if y guardarlos en variables diferentes, lo otro que se me ocurre es pedir y hacer altiro la verificación dentro de un ciclo for o while ----------------- Edit: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int numeroMayor=0; int num=0; int x; for(x=0;x<20;x++){ printf("Ingrese un numero\n"); scanf("%d",&num); if(num > numeroMayor){ numeroMayor=num; } } printf("El numero mayor es: %d\n",numeroMayor); system("PAUSE"); return 0; } Ahí lo hice con el mayor, como se me ocurrió Saludos, espero haberte aclarado un poco Edited April 4, 2012 by Leoxz Link to comment Share on other sites More sharing options...
guzzox Posted April 4, 2012 Author Report Share Posted April 4, 2012 buuu, leí pero no cacho a qué se refiere...:( Link to comment Share on other sites More sharing options...
susodicho Posted April 4, 2012 Report Share Posted April 4, 2012 es que como tú dices, tendrías que hacer muchos if y guardarlos en variables diferentes, lo otro que se me ocurre es pedir y hacer altiro la verificación dentro de un ciclo for o while ----------------- Edit: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int numeroMayor=0; int num=0; int x; for(x=0;x<20;x++){ printf("Ingrese un numeron"); scanf("%d",&num); if(num > numeroMayor){ numeroMayor=num; } } printf("El numero mayor es: %dn",numeroMayor); system("PAUSE"); return 0; } Ahí lo hice con el mayor, como se me ocurrió Saludos, espero haberte aclarado un poco ¿y qué pasa si el usuario ingresa puros números negativos? :tonto: Es mejor asumir que el mayor/menor es el primer elemento ingresado. O sea, dentro del ciclo for hay que poner un if...else, en éste se pregunta si es la primera iteración (i es 0), si es así se inicializa la variable que guarda el valor mayor/menor (se le asigna el valor que el usuario acaba de ingresar), en caso contrario se hace la comparación. Link to comment Share on other sites More sharing options...
zafrada Posted April 4, 2012 Report Share Posted April 4, 2012 (edited) Modificado para obtener el menor: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int numeroMenor; int num=0; int i; printf("Ingrese un numero:"); scanf("%d",&num); numeroMenor=num; for(i=0;i<19;i++){ printf("Ingrese un numero"); scanf("%d",&num); if(numeroMenor > num){ numeroMenor=num; } } printf("El numero menor es: %d",numeroMenor); system("PAUSE"); return 0; } Edited April 4, 2012 by zafrada Link to comment Share on other sites More sharing options...
zafrada Posted April 4, 2012 Report Share Posted April 4, 2012 es que como tú dices, tendrías que hacer muchos if y guardarlos en variables diferentes, lo otro que se me ocurre es pedir y hacer altiro la verificación dentro de un ciclo for o while ----------------- Edit: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int numeroMayor=0; int num=0; int x; for(x=0;x<20;x++){ printf("Ingrese un numeron"); scanf("%d",&num); if(num > numeroMayor){ numeroMayor=num; } } printf("El numero mayor es: %dn",numeroMayor); system("PAUSE"); return 0; } Ahí lo hice con el mayor, como se me ocurrió Saludos, espero haberte aclarado un poco ¿y qué pasa si el usuario ingresa puros números negativos? :tonto: Es mejor asumir que el mayor/menor es el primer elemento ingresado. O sea, dentro del ciclo for hay que poner un if...else, en éste se pregunta si es la primera iteración (i es 0), si es así se inicializa la variable que guarda el valor mayor/menor (se le asigna el valor que el usuario acaba de ingresar), en caso contrario se hace la comparación. Es mucho mejor que ocupar un if dentro del for, realizar la primera iteración fuera del for, como lo hice en el que postié arriba, aunque claro, con algoritmos tan pequeños da lo mismo el tiempo de ejecución. Justo venía a postear eso de los números negativos :) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now