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

Am un sir de "n" numere (numerele pare sunt la fel de multe ca cele impare )

trebuie sa fac sa fie numarele impare pe pozitii impare si pe o pozitiile pare sa fie numerele pare

ex 1 2 4 5 trebuie sa fie 1 2 5 4

Froblema trebuie rezolvata optim

Răspunsuri la întrebare

Răspuns de radugiulia
0
#include<iostream>
using namespace std;

void schimbare(int n,int v[])
{
      int i,j,aux;
      for(i=1;i<=n;i+=2)
         for(j=2;j<=n;j+=2)
            if(v[i]%2==0 && v[j]%2==1)
                  {   
                        aux=v[i];
                        v[i]=v[j];
                        v[j]=aux;
                   }
}

int main()
{
     int v[100],i,n;
     cin>>n;
     for(i=1;i<=n;i++)
            cin>>v[i];
    schimbare(n,v);
    for(i=1;i<=n;i++)
       cout<<v[i]<<" ";
    return 0;
}

Alte întrebări interesante