ordonarea crescatoare a trei numere distincte in functie de modulul lor in c++
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
int m_a = abs(a);
int m_b = abs(b);
int m_c = abs(c);
if (m_a > m_b) {
swap(a, b);
swap(m_a, m_b);
}
if (m_b > m_c) {
swap(b, c);
swap(m_b, m_c);
}
if (m_a > m_b) {
swap(a, b);
swap(m_a, m_b);
}
cout << a << " " << b << " " << c;
return 0;
}
Explicație:
Citim cele 3 numere, apoi declar cele 3 variabile m_a, m_b si m_c ca fiind modulul a fiecaruia dintre aceste numere ( se utilizeaza functia abs() pentru determinarea modulului unui numar ).
Compar modulele fiecarui numar, urmand sa le interschimb daca este necesar ( interschimbarea se realizeaza cu functia swap() ).
In final, le voi afisa, acestea fiind in ordine crescatoare in functie de modulul lor.