Informatică, întrebare adresată de deni289, 9 ani în urmă

Cerința
Se dau 5 numere distincte. Să se determine suma celor mai mari 3 dintre ele.

Date de intrare
Programul citește de la tastatură 5 numere naturale.

Date de ieșire
Programul va afișa pe ecran numărul cerut.

Restricții și precizări
cele 5 numere naturale sunt distincte, cuprinse între 1 și 10000, inclusiv



Exemplu
Intrare

1 5 2 3 100
Ieșire

108


damarisiftene: dar asa am inceput si eu
deni289: dupa using namespace std;
deni289: si mai departe nu mai stiu:))
damarisiftene: da, am mai pus o bilbioteca care iti sorteaza automat un sir
damarisiftene: sort(sir, sir  + 5);
deni289: mersi oricum
damarisiftene: cu placere
deni289: doar ca noi nu am facut inca cu sort..
damarisiftene: imi pare rau dar eu nu mai pot sta acum :(. Sincer te-as ajuta insa fara sort o sa fie mult mai lunga. Si nu e nevoie sa faci inainte ca sa folosesti. Ai gasit pe interne si ai folosit-o :)
deni289: nicio problema :)

Răspunsuri la întrebare

Răspuns de damarisiftene
1
Depinde de ce compilator folosesti insa o sa il scriu ca sa mearga cam pe toate:

#include <iostream.h>
#include <algorithm>

using namespace std;

void main()
{
    int i = 0, sir[5], j = 0, numar;
    bool exista = false;

    // Citeste numerele 
    do {
       cout << "Introdu numarul " << i << " :";
       cin >> numar;
        
        // Verifica daca numarul e cuprins intre 1 si 10000
        if ( numar > 10000 || numar < 1) {
            cout << "Numarul introdus trebuie sa fie cuprins intre 1 si 10000.";
            continue;
        }
    
        exista = false;
        for(j = 0; j < 5; j++) {
            if(sir[j] == numar) {
                exista = true;
                break;
            }
        }
    
        if( exista ) {
            cout << "Numarul deja exista, te rugam sa adaugi un alt numar.";
            continue;
        }

        sir[i] = numar;        
        i++;
    } while( i >= 5);
  
    // Sorteaza array
    sort(sir, sir  + 5);
    
    // Se calculeaza suma
    suma = sir[4] + sir[3] + sir[2];
   
    // Se afiseaza suma
    cout << "Suma numerelor este: " << suma << ".";
}


Alte întrebări interesante