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ăspunsuri la întrebare
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;