👤
CornelRadu
a fost răspuns

Se dau 3 numere: A B C

Cerință: Să se afișeze în ordine crescatoare.

Restrictii: numerele se încadrează în timpul de date int.

Mai jos este rezolvarea mea însă iau 79 /100 puncte și nu înțeleg de ce...

===============================


#include <iostream>

using namespace std;

int main()
{
int a, b, c;
cin>>a>>b>>c;
if(a<=b && b<=c)
cout<<a<<" "<<b<<" "<<c;
else if(a<=b && c<=b)
cout<<a<<" "<<c<<" "<<b;
else if(b<=a && a<=c)
cout<<b<<" "<<a<<" "<<c;
else if(b<=c && c<=a)
cout<<b<<" "<<c<<" "<<a;
else if(c<=a && a<=b)
cout<<c<<" "<<a<<" "<<b;
else if(c<=a && b<=a)
cout<<c<<" "<<b<<" "<<a;
else if(a==b && b==a && b==a && b==c && c==b)
cout<<a<<" "<<b<<" "<<c;

return 0;
}​


Răspuns :

Răspuns:

cred ca este din cauza ca daca dai 2 nr egale din cele 3, vor fi macar 2 cazuri in care se verifica conditiile tale si o sa iti afiseze mai multe chestii. Copiaza codul in CodeBlock sau un compilator online etc. si da mai multe triplete de nr sa vezi ce iti afiseaza.

Ex: 4 5 4

sau 5 5 5

Explicație:

Ai putea face asa:

if(a==b &&a < c) cout<<a<<" "<<b<<" " <<c;

if(a==b && a>c) cout<<c<<" "<<a<<" "<<b;

if(a==c && a<b) cout<<a<<" "<<c<<" "<<b;

if(a==c && a>b) cout<<b<<" "<<a<<" "<<c;

if(b==c && a<b) cout<<a<<" "<<b<<" "<<c;

if(b==c && a>b) cout<<b<<" "<<c<<" "<<a;

if (a==b&&a==c) cout<<a<<" "<<b<<" "<<c;

if(a<b && a<c)

if (b<c) cout<<a<<" "<<b<<" "<<c;

else cout<<a<<" "<<c<<" "<<b;

if(c<a && c<b)

if (a<b) cout<<c<<" "<<a<<" "<<b;

else cout<<c<<" "<<b<<" "<<a;

if(b<a && b<c)

if (a<c) cout<<b<<" "<<a<<" "<<c;

else cout<<b<<" "<<c<<" "<<a;