Informatică, întrebare adresată de manoliuvirgil, 8 ani în urmă

ordonarea crescatoare a trei numere distincte in functie de modulul lor in c++

Răspunsuri la întrebare

Răspuns de bobita25
0

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.

Alte întrebări interesante