crescator

Rezolvarea problemelor de matematica prin realizarea unor programe.
Alexandru18
utilizator
utilizator
Mesaje: 27
Membru din: 15 Noi 2014, 15:24

crescator

Mesaj de Alexandru18 » 14 Iun 2018, 15:14

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.

PhantomR
guru
guru
Mesaje: 2855
Membru din: 27 Apr 2011, 18:16

Re: crescator

Mesaj de PhantomR » 15 Iun 2018, 19:30

Cod: Selectaţi tot

if(A < B)
{
	if( C <= A ) print C A B
	else if( B <= C) print A B C
	else print A C B
}
else
{
	// B <= A
	if(C <= B) print C B A
	else if (A <= C) print B A C
	else print B C A
}

baiatul122001
utilizator
utilizator
Mesaje: 76
Membru din: 27 Ian 2017, 17:05

Re: crescator

Mesaj de baiatul122001 » 16 Iun 2018, 11:11

#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;
}

PhantomR
guru
guru
Mesaje: 2855
Membru din: 27 Apr 2011, 18:16

Re: crescator

Mesaj de PhantomR » 16 Iun 2018, 11:34

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.

Scrie răspuns