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
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d;
cin >> a >> b;
if (a>b)
{
c=a; a=b; b=c;
}
cin >> d;
if (d>b) c=d;
else if (d>a) {c=b; b=d;}
else {c=b; b=a; a=d;}
cin >> d;
if (d>c) { a=b; b=c; c=d;}
else
{
if (d>b) { a=b; b=d;}
else if (d>a) a=d;
}
cin >> d;
if (d>c) { a=b; b=c; c=d;}
else
{
if (d>b) { a=b; b=d;}
else if (d>a) a=d;
}
cout << a+b+c;
return 0;
}
Explicație:
evident, cu tablou era mai simplu....
cin >> a >> b;
x=a-b;
if (x==0) {cout<<"Copiii au varste egale";}
if (x > 0) { cout <<"Primul copil este mai mare cu "< if (x < 0) { cout <<"Al doilea copil este mai mare cu "<<-x<<" ani";}
int main()
{
int n,m,p,q,r,i,max,t,w;
cin>>n>>m>>p>>q>>r;
if(n>m && n>p && n>q && n>r)
max=n;
if(m>n && m>p &&m>q && m>r)
max=m;
if(p>n && p>m && p>q &&p>r)
max=p;
if(q>n && q>m && q>p && q>r)
max=q;
if(r>n && r>m && r>p && r>q )
//aflam nr maxim
max=r;
for(i=max;i>=1;i--)
{
if( i<max )
{
if(i==n||i==m ||i==p ||i==q||i==r)
t=i;
break;
}
}
for(i=t;i>=1;i--)
{
if(i<t){
if(i==n||i==m ||i==p ||i==q||i==r)
w=i;
break;
}
}
cout<<"suma este= "<<max+t+w;
return 0;
}