Salut! Pentru cerinta urmatoare am gasit programul de mai jos. Imi puteti explica, va rog, cum functioneaza programul de mai jos? Am inteles ca se face minimul celor cinci numere si apoi nu inteleg de ce se testeaza ca numerele sa fie echivalente cu m, dupa care li se artibuie valoarea 100001 si apoi se testeaza din nou ca numerele sa fie mai mici ca m.
Se dau 5 numere distincte. Să se determine suma celor mai mari 3 dintre ele.
Programul citește de la tastatură 5 numere naturale.
Programul va afișa pe ecran numărul cerut.
cele 5 numere naturale sunt distincte, cuprinse între 1 și 10000, inclusiv
1 5 2 3 100
108
#include
using namespace std;
int a, b, c, d, e, s, minim;
int main() {
cin>>a>>b>>c>>d>>e;
s = a+b+c+d+e;
minim = a;
if (b < minim)
minim = b;
if (c < minim)
minim = c;
if (d < minim)
minim = d;
if (e < minim)
minim = e;
s = s-minim;
if (a == minim)
a = 100001;
if (b == minim)
b =100001;
if (c == minim)
c =100001;
if (d == minim)
d =100001;
if (e == minim)
e =100001;
minim = a;
if (b < minim)
minim = b;
if (c < minim)
minim = c;
if (d < minim)
minim = d;
if (e < minim)
minim = e;
s = s-minim;
cout<
return 0;}
Răspunsuri la întrebare
Răspuns de
1
E o varianta urata de a-l face, dar uite cum functioneaza:
Aduna toate cele 5 numere apoi le scade pe cele mai mici 2 numere, rezultatul fiind suma celor mai mari 3 numere (daca nu intelegi de ce, intreaba profesorul de matematica).
Prima serie de if-uri cauta cel mai mic numar si-l scade din suma. A doua serie de if-uri cauta minimul (cel care a fost scazut din suma) si il initializeaza la 10001, ca sa nu-l gaseasca cand va cauta celalalt numar care trebuie scazut. Valoarea este 10001 pentru ca valoarea maxima posibila a numerelor este 10000. A treia serie de if-uri cauta cel mai mic numar ramas si-l scade din suma, apoi afiseaza suma.
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Franceza,
8 ani în urmă
Religie,
9 ani în urmă
Ed. muzicală,
9 ani în urmă
Limba română,
9 ani în urmă
Aduna toate cele 5 numere apoi le scade pe cele mai mici 2 numere, rezultatul fiind suma celor mai mari 3 numere (daca nu intelegi de ce, intreaba profesorul de matematica).