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

!!!!!URGENT!!!!!





Fiind dat un șir de N numere întregi pozitive, să se afișeze pe ecran numerele șirului inițial, cu următoarele modificări:

Numerele pare se vor afla pe primele poziții din șir, în ordine crescătoare a pozițiilor în șirul inițial.
Numerele impare se vor afla după numerele pare, în ordine descrescătoare a pozițiilor în șirul inițial.
Date de intrare
Se vor citi:

Un număr întreg N
Un șir de N numere întregi pozitive
Date de ieșire
Pe ecran se va afișa șirul modificat.

Restricții
N < 1000
Numerele din șir vor fi mai mici sau egale decât 1000
Exemplu
Date de intrare Date de ieșire
5
1 8 7 4 5 8 4 5 7 1

Răspunsuri la întrebare

Răspuns de boiustef
0

#include <iostream>

using namespace std;

int v[100];

int main()

{

   int n, i, j;

   cout << "n= "; cin >> n;

   cout << "introdu " << n << " componente pozitive intregi: \n";

   for (i=1; i<=n; ++i)

       cin >> v[i];

   int pareOrdonat=0;

   while (pareOrdonat==0)

   {

       pareOrdonat=1;

       for (i=1; i<n; ++i)

       {

           if (v[i]%2==1 && v[i+1]%2==0)

           {

               swap(v[i], v[i+1]);

               pareOrdonat=0;

           }

       }

   }

   int k=0;

   i=1;

   while (v[i]%2==0)

       { ++k; ++i; }

   j=0;

   for (i=k+1; i<k+1+(n-k)/2; ++i)

   {

       ++j;

       swap(v[i], v[n+1-j]);

   }

   cout << " tabloul reordonat: \n";

   for (i=1; i<=n; ++i)

       cout << v[i] << " ";

   return 0;

}



manguadrianconstanti: NOPE
boiustef: >>> ????
boiustef: probleme ???
Alte întrebări interesante