Informatică, întrebare adresată de vladciufu, 9 ani în urmă

C++
Se da un vector ce contine n (n<100) numere naturale cuprinse intre 0 si 60000. Sa se ordoneze elementele pare fara a afecta pozitiile elementelor impare. Se va afisa vectorul dupa ordonare. Evitati folosirea unui vector auxiliar.
Exemplu pentru n=7 si sirul 1, 40, 32, 44, 3, 8, 17 se va afisa 1 8 32 40 3 44 17
Pls

Răspunsuri la întrebare

Răspuns de Ouroboros
3
#include
using namespace std;
int n,i,j,a[1001];
int main()
{
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
for(i=1;i<=n;i++)
if(a[i]%2==0)
for(j=i+1;j<=n;j++)
if(a[j]%2==0)
if(a[i]>a[j])
swap (a[i],a[j]);
for(i=1;i<=n;i++) cout<return 0;
}

vladciufu: La swap (a[i],a[j]) las asa sau fac eu interschimbarea ?
Ouroboros: poti sa faci si cu aux=a[i]; a[i]=a[j];a[j]=aux; , dar nu e asa de optim
Ouroboros: si scuze, dar am trimis de pe android. totul e bine pana la cout
Ouroboros: deci acolo trebuie sa dai cout a[i] pentru i=1 pana la n
vladciufu: Am pus eu la cout, ok, mersi frum, asta era intrebarea pentru ca nu am mai folosit sswap si credeam ca tb interschimbat dar am inteles acum
Alte întrebări interesante