Aprendiendo a Programar en Bloodshed Dev-C++ con Ejemplo y Ejercicios Resueltos Leer 20 números y determinar el mayor y el menor

Este ejercicio si es bien interesante, y tiene ciertos trucos para que funcione.
RRecuerda que en la programación en general, sea en C, C++, Pascal, HTML, Java, PHP y demás, la lógica es un factor indispensable.

El enunciado del ejercicio es el siguiente:
Leer 20 números y encontrar el mayor y el menor valor leídos.
Para este ejercicio, emplearé un CICLO FOR para leer los 20 datos que debe ingresar el usuario, y dentro del mismo ciclo, ANIDARÉ UN PAR DE CONDICIONES para que determine el número mayor y menor de los valores que se ingresan.

#include <iostream.h>

int i,mayor,menor,a;

int main (void)
{
   cout << "Bienvenido \nIngrese 20 numeros y el programa determinara el mayor y el menor" <<endl<<endl;
   menor = 99999999;
   mayor = -999;
   for (a=1 ; a<=20 ; a++)
   {
     cout << "Ingrese numero" <<endl;
     cin >> i;
     if(i>mayor)
     {
      mayor=i;
     }
     if(i<menor)
     {
      menor=i;
      }                                
   }

  cout << "El numero mayor ingresado es " <<mayor<<endl;
  cout << "El numero menor ingresado es " <<menor<<endl;
  system("pause");
  return 0;
}
Este ejercicio se puede hacer seguramente más bonito, pero bueno, aquí está el truco para que funcione:

► Al principio, declaro los números mayor y menor con valores preestablecidos, el mayor, un número muy "pequeño" dentro del conjunto de los números reales, y el menor, todo lo contrario, un número muy "grande"; todo esto, para que con cada iteración del ciclo, suponiendo que el usuario no ingresa cifras exhorbitantes, se asignen correctamente ambos valores del mayor y el menor.

15 comentarios:

  1. hombre tomando con tu ciclo for es sencillo tu resolucion pero como dijiste seria mas bonito o mucho mejor realizarlos con otras sentencia no crees?

    ResponderEliminar
  2. un par de balazos aunque te duela
    pero si no estoy triste voy a estar contigo en tu funeral

    ResponderEliminar
  3. grxias m sirvio d muxo x)

    ResponderEliminar
  4. no lo puedes poner en pseudocódigo

    ResponderEliminar
  5. exelente amigo, no sabia que hacer,

    ResponderEliminar
  6. MUCHAS GRACIAS, YO LO INTENTE HACER SIN LA ASIGNACION DE LAS VARIABLES PERO SOLO PUDE CON LA PARTE DEL MAYOR Y A LA HORA DE SACAR EL MENOR NO PUDE, PERO CON TU EJEMPLO YA LO RESOLVI, DE LO CONTRARIO SE DEBERIAN USAR APUNTADORES

    ResponderEliminar
  7. so te falto explicar como funciona las condiciones

    ResponderEliminar
    Respuestas
    1. al igual que encontraste esto .. puedes encontrar como actua la funcion

      Eliminar
  8. y si quisiera exponer que si los datos son iguales se detenga, como podria hacer?

    ResponderEliminar
  9. y la puedes hacer con vetores ??? danos algun ejemplo!

    ResponderEliminar
  10. AYUDENME CON ESTE PROGRAMA PORFAVOR!
    1) Realizar en un sólo programa en bluej, que pida n cantidad de números, el programa deberá:
    a. Imprimir
    i. El número menor (valor 5 puntos)
    b. Imprimir:
    i. El número mayor (valor 5 puntos)
    ii. Definir si éste número mayor, es un número primo. (valor 10 puntos)
    c. Realizar la suma de todos los número dados y posteriormente Imprimir
    i. La multiplicación de todos los números impares que se encuentran de cero hasta el resultado de la suma. (valor 10 puntos)

    ii. Con el resultado de la suma realizada, definir si el número es el resultado de un factorial. (valor 30 puntos)
    1. Ejemplo: si la suma da 120, éste es resultado del factorial de 5
    d. Imprimir el factorial de cada número proporcionado (valor 5 puntos)
    i. posteriormente realizar la suma de todos los números proporcionados. (valor 10 puntos)
    ii. Con el resultado de la suma sacar todos los números perfectos que se encuentran hasta dicha suma. (valor 25 puntos)

    ResponderEliminar
  11. RESPECTO AL PROBLEMA DEL NUMERO MENOR,DEJO MI RESOLUCION USANDO LA SENTENCIA WHILE

    //Determinar_el_menor_numero_de_una_lista
    //El programa finalizara si se ingresa 0(cero)
    #include
    #include

    int main()
    {
    int x,men;
    printf("Ingrese un numero distinto de 0: ");
    scanf("%d",&x);
    men=x;
    while (x!=0)
    {
    scanf("%d",&x);
    if (x!=0)
    {
    if (x<men)
    {
    men=x;
    }
    }
    }
    printf("El menor numero es: %d\n",men);
    system("pause");
    return 0;
    }

    ResponderEliminar
  12. ayuda con a resolver este problema de c++ 6 numeros diferentes indentificar el mayor , M y presntarlo en pantalla

    ResponderEliminar