Se dau 3 numere întregi A, B și C, nu neapărat distincte. Să se afișeze în ordine crescatoare.
Date de intrare
Se citesc de la tastatură cele trei numere.
Date de ieșire
Programul va afișa pe ecran numerele ordonate crescător, separate prin spații.
Restricții
Numerele se încadrează in tipul de date int.
#include <iostream>
using namespace std;
int main()
{
int a,b,c,M,m,mij;
cin>>a>>b>>c;
if(a==b && b==c){
cout<<a<<” „<<b<<” „<<c;
}
else{ if(a==b){
if(a>c){
cout<<c<<” „<<a<<” „<<a;
}
else{
cout<<a<<” „<<a<<” „<<c;
}
}
else if(a==c){
if(a>b){
cout<<b<<” „<<a<<” „<<a;
}
else{
cout<<a<<” „<<a<<” „<<b;
}
}
else if(b==c){
if(b>a){
cout<<a<<” „<<b<<” „<<b;
}
else{
cout<<b<<” „<<b<<” „<<a;
}
}
else{
///M=max(a,max(b,c));
if(a>b && a>c){
M=a;
}
if(b>a && b>c){
M=b;
}
if(c>a && c>b){
M=c;
}
///m=min(a,min(b,c));
if(a<b && a<c){
m=a;
}
if(b<a && b<c){
m=b;
}
if(c<a && c<b){
m=c;
}
if(m<a && a<M){ ///caut mijlocul
mij=a;
}
if(m<b && b<M){
mij=b;
}
if(m>c && c<M){
mij=c;
}
cout<<m<<” „<<mij<<” „<<M;
}
}
return 0;
}
Nu este necesar sa testati separat cazurile de egalitate… Exista operatorul
(sau
) in C/C++.. nu stiu daca e corect sau nu cum ati facut, dar e foarte complicat cum ati rezolvat.