👤

va rogggg Scrieţi definiţia completă a subprogramului C/C++ aranjare, care are doi parametri, v şi n, prin care primeşte un tablou unidimensional cu maximum 10000 de numere naturale nenule şi, respectiv, numărul de elemente din tablou. Subprogramul rearanjează elementele tabloului astfel încât toate valorile impare să se afle pe primele poziţii, iar valorile pare în continuarea celor impare.

Răspuns :

void aranjare(int v[], int n)
{
    int i, j, k1 = 0, k2 = 0, x, v1[10005], v2[10005];
    for(j = 0; j < n; j ++)
     {
         x = v[j];
         if(x % 2 == 1) v1[k1 ++] = x;
                   else v2[k2 ++] = x;
     }
     for(j = 0; j < k1; j ++)
      v[j] = v1[j];
     for(j = k1; j < n; j ++)
      v[j] = v2[j - k1];
     return;
}