👤

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;

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile furnizate v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de ajutor, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite!


Ze Learnings: Alte intrebari