👤

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


Răspuns :

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 << ".";
}