👤

Salut , am făcut un program și nu îmi merge ok . Cerinta este următoarea :
Se dau 3 numere întregi A, B și C, nu neapărat distincte. Să se afișeze în ordine crescatoare.
Iar eu am rezolvat așa
#include
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 && B >= C)
cout << C << " " << B << " " << A;
else if (A <= B && A >= C )
cout << C << " " << A << " " << B;
else if (A >= B && B <= C)
cout << B << " " << C << " " << A;
else if (A >= B && A <= C)
cout << B << " " << A << " " << C;
else if (A <= C && C <= B)
cout << A << " " << C << " " << B;
return 0;
}
Îmi puteți spune ce este greșit , Mulțumesc anticipat !


Răspuns :

te complici prea mult

prea multe elseuri si ifuri

incearca iei problema logic PE FOAIE altfel te imbarligi in cazuri si nu mai intelegi nici tu nici altii ce ai fct acolo

programul corectat

#include<iostream>

using namespace std;

int main(){

   int A,B,C;

   cin>>A>>B>>C;

   if (A > B)

       swap(A, B);

   if (B > C)

       swap(B, C);

   cout<<A<<' '<<B<<' '<<C;

   return 0;

}

IN LOC DE SWAP POTI FOLOSI

int aux=A, A=B, B=aux;