Encontrar el número mayor de un conjunto

Es en realidad muy simple, se trata de pedir un conjunto de números e ir comparandalos para obtener el mayor. Un problema es que no sabemos la cantidad de números que se van a pedir, por lo que al principio del programa tenemos que pedir este valor.

#include<iostream>
using namespace std;

int main()
{
  int n_num=0,num=0,elmayor=0,c=0;
  cout <<"Introduce el numero de numeros: "; cin >> n_num;
  for(c=1;c<=n_num;c++)
  {
    cout <<"nIntroduce el numero " << c <<": "; cin >> num;
    if(num>elmayor)
    {
      elmayor=num;
    }
  }
  cout <<"ntEl numero mayor fue el " << elmayor;
  cin.get();cin.get();

  return 0;
}

Una parte importante es la estructura del ciclo:
for(c=1;c<=n_num;c++)
Significa que el ciclo va de 1 hasta ‘lo-que-nos-diga-el-usuario’.

Otra cosa es que usamos iostream y no usamos conio.h.

22 thoughts on “Encontrar el número mayor de un conjunto

  1. tio ta bien too pero si te pidieran el segundo mayos ahi la cosa cambia osea mdoble if o el tercer menor ese si seria un problema pero vale.

  2. HOla, tu codigo esta muy interesante, ya que cuando lo vi, estaba mas que seguro de que no funcionaba pero wawww *-* funciono.
    Asi que te queria preguntar por que sirve este codigo:

    #include
    int main()
    {
    int n_num=0,num=0,elmayor=0,c=0,elmenor;
    cout <> n_num;
    for(c=1;c<=n_num;c++)
    {
    cout <<"nIntroduce el numero " << c <> num;
    if(num>elmayor)
    {
    elmayor=num;
    }
    else if(num<elmenor)
    {
    elmenor=num;
    }
    }

    cout <<"ntEl numero mayor fue el " << elmayor;
    cout <<"ntEl numero menor fue el " <elmayor)” “detecta” (por asi decirlo) el numero mayor? y lo mismo con “if(num<elmenor)" (que lo hice yo y funciono), esque en realidad estoy asombrado, como eso funciona!!??

    Gracias por responder, si no te importa.

  3. Perdon por el doble comentario pero me equivoque en el codigo, era:

    #include
    int main()
    {
    int n_num=0,num=0,elmayor=0,c=0,elmenor;
    cout <> n_num;
    for(c=1;c<=n_num;c++)
    {
    cout <<"nIntroduce el numero " << c <> num;
    if(num>elmayor)
    {
    elmayor=num;
    }
    else if(num<elmenor)
    {
    elmenor=num;
    }
    }

    cout <<"ntEl numero mayor fue el " << elmayor;
    cout <<"ntEl numero menor fue el " << elmenor;
    cin.get();cin.get();

    return 0;
    }

    1. Pues en realidad tu código tal como lo pusiste aquí no estaba funcionando, pero supongo que fueron errores de teclado. Este sí:

      #include
      using namespace std;
      int main()
      {
          int n_num=0,num=0,elmayor=0,c=0,elmenor=2147483647;
          cin >> n_num;
          for(c=1;c<=n_num;c++)
          {
              cout <> num;
              if(num>elmayor)
              {
                  elmayor=num;
              }
              else if(num<elmenor)
              {
                  elmenor=num;
              }
          }
          cout <<"ntEl numero mayor fue el " << elmayor;
          cout <<"ntEl numero menor fue el " << elmenor;
          cin.get();cin.get();
          return 0;
      }

      Y si lo analizas paso a paso es muy fácil de entender. Al principio la variable ‘elmayor’ vale 0, luego entras al ciclo y pides el primer número, si el número es mayor que ‘elmayor’ entonces la variable se modifica con el nuevo valor. Vuelves a pedir otro número y lo vuelve a comparar con el nuevo valor… y así. Lo mismo para ‘elmenor’ solo que esta variable tiene que tener un valor inicial muy alto (yo busqué en internet el número más grande que puede tener una variable int y es el que le puse) para que al inicio el número que pides sea menor que ‘elmenor’.

  4. disculpa esto me sirvio un buen pero como le puedo acer para saber cual es el mayor osea imaginemos que tenemos el mismo codigo y cuando lo corres introduces esto

    1=5
    2=34
    3=20

    entonces el mayor es el 34 pero ademas de eso quiero que me imprima que el segundo numero es 34 y es el mayor
    espero y me puedas dar una idea

    1. #include
      #include
      #include
      main()
      {clrscr();
      int num, cant, x,num_mayor=0,p;
      printf(“Cuantos números desea ingresar: “);
      scanf(“%d”,&cant);
      for(x=1;xnum_mayor)
      {
      num_mayor=num;
      p=x;
      }

      }
      printf(“el numero mayor fue %d y su posición es %d”,num_mayor,p);
      getch();
      return(0);
      }

  5. HOLA QUE TAL ALGUIEN PODRIA DECIRME COMO HACER UN PROGRAMA CON FOR SOBRE 10 CALIFICACIONES Y MOSTRAR CUAL ES LA MAYOR SALUDOS.

  6. tengo que buscar el mayor en los costos de prduccion en un año pero no solo tengo que imprimir el mayor sino me tiene que decir en que mes fue…. la busqueda del mayor es lo mismo y despues tengo que imprimir por ejemplo si le pongo A[i] al vector… el mayor sera m=A[i] y el mes sera m=i??

  7. HOLA, alguien me puede ayudar a programar estos dos programas en C++ (code bloks)
    GRACIAS.

    Sea una secuencia de enteros no negativos acabada en -1:
    a) Calcular el numero mayor de la secuencia (si no se introduce ningún dato salvo la marca el máximo es 0)

    b) Contar el número de enteros de la secuencia tras la aparición del primer 0 (si no aparece ningún 0 el número es 0).

  8. Hola pues yo estoy enredada tengo que hacer un programa donde se capturan 5 numeros y que el progranma diga cual es el mayor el menor y en caso de que el usuario capture los 5 numeros con el mismo valor que un mensaje diga que el valor de los 5 numeros es el mismo y finalmemte tambien cual es el numerio medio,alguien puede ayudarme

  9. ¡Hola Karita!
    Te envio el codigo de lo que pides, espero pueda servirte🙂

    #include
    using namespace std;
    int main()
    {
    int cont = 1;
    int v_mayor = 0;
    int v_menor;
    int v_max = 0;
    int venta;

    while (cont < 5)
    {
    cout <> venta;
    cont = cont + 1;

    //Venta Mayor
    if (venta>v_mayor)
    {
    v_mayor = venta;
    }

    //Venta con Valor Maximo
    v_max = v_mayor;

    //Venta Menor
    if (venta<v_max)
    {
    v_menor = venta;
    }
    }

    cout <<"La mayor venta fue de:" << v_mayor << endl;
    cout <<"La menor venta fue de:" << v_menor << endl;
    system ("pause");
    return 0;
    }

  10. de una lista de numeros me piden sumar los diez primeros numeros pares introducidos…..observando que la cantidad de numeros en la lista de numeros es introducido por el usuario………..agradesco tu ayuda

  11. #include
    #include

    int main(){
    int num, comparador;
    char resp;
    resp=’s’;
    comparador=0;
    printf(“Hola, le indicare el numero mayor de la cantidad de numeros que me ingreses segun su preferencia, recuerde hacerlo con numeros enterosn”);
    while(resp==’s’){

    printf(“Ingrese numeron”);
    scanf(“%d”,&num);
    getchar();
    if(num>comparador){
    comparador=num;
    }
    printf(“Desea ingresar otro numero para comparar?s/nn”);
    scanf(“%c”,&resp);
    getchar();
    }
    printf(“El numero mayor de los ingresados es %d “,comparador);
    system(“pause”);
    printf(“Gracias por utilizar este programa vuelva pronto “);
    system(“pause”);
    }
    aca termina el programa ya lo corri y funciona bien

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s