Se dau n numere naturale nenule. Ordonati descrescator doar numerele pare din sir, fara a schimba numerele impare de pe pozitiile lor. Se recomanda metoda interschimbului direct.

Răspuns :

#include <iostream>

using namespace std;

int main()

{

   int mărime, vect[128]{ 0 };

   cin >> mărime;

   for (int index = 0; index < mărime; index++)

       cin >> vect[index];

   for (int index_main = 0; index_main < mărime; index_main++)

       if(!(vect[index_main] % 2))

           for(int index_aux = index_main; index_aux < mărime; index_aux++)

               if (!(vect[index_aux] % 2) && vect[index_aux] > vect[index_main]) {

                   int var_aux = vect[index_aux];

                   vect[index_aux] = vect[index_main];

                   vect[index_main] = var_aux;

                   index_main = 0;

                   break;

               }

   

   for (int index = 0; index < mărime; index++)

       cout << vect[index] << ' ';

   return 0;

}