elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Hola necesito ayuda con el siguiente programa. (ARREGLOS)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Hola necesito ayuda con el siguiente programa. (ARREGLOS)  (Leído 2,140 veces)
padiuwu

Desconectado Desconectado

Mensajes: 34


Ver Perfil
Hola necesito ayuda con el siguiente programa. (ARREGLOS)
« en: 5 Agosto 2018, 04:28 am »

Lea n calificaciones e imprima las dos mas altas:
Código:
#include <iostream>

using namespace std;

void m();

int main()
{
    m();
    return 0;
}

void m(){

    int n, mayor, cal;
    cout << "Ingrese el numero de calificaciones: ";
    cin >> n;
    int arreglo[n];
    for(int i=0; i<n; i++){
    cout << "Calificacion #" << i+1 << ": ";
    cin >> cal;
    }

    for (int j=0; j<n; j++){
        for (int k=1; k<n; k++){
            if (arreglo [j] < arreglo [k]){
                int aux;
                aux= arreglo [j];
                arreglo [j] = arreglo [k];
                arreglo [k] = aux;
            }
            for (int l=0; l<2; l++)
        }
    }

}


En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Hola necesito ayuda con el siguiente programa. (ARREGLOS)
« Respuesta #1 en: 5 Agosto 2018, 05:19 am »

No necesitas guardar todos los datos en un arreglo, ni tampoco necesitas ordenarlos.

Si lees los datos 1 a 1, puedes actualizar 2 variables, la que tenga el maximo y la que tenga una despues del maximo. Si las llamas maximo1 y maximo2, cuando lees un numero, si ese numero es menor que maximo2, no es necesario cambiar ni maximo1 ni maximo2, pues esos valores siguen siendo los mas grandes. Si es mas grande que el maximo2, hay que, al menos, deshacerse del maximo2 y actualizar a los nuevos valores, dependiendo si es o no mayor que el maximo1

Código
  1. maximo1 = leer numero
  2. maximo2 = leer numero
  3. si maxmo2 > maximo1 -> intercambiar maximo1 y maximo2
  4.  
  5. ciclo hasta terminar {
  6.     leer numero
  7.     si numero > maximo2 {
  8.         si numero > maximo1 {
  9.             maximo2 = maximo1
  10.             maximo1 = numero
  11.         } else {
  12.             maximo2 = numero
  13.         }
  14.     }
  15. }
  16.  
  17. imprimir maximo1 y maximo2
  18.  


En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines