Jump to content

Ayuda urgente ejercicio en C


Recommended Posts

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

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 by Leoxz
Link to comment
Share on other sites

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

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 by zafrada
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...