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

Subprogramul aranjare are 2 parametri prin care primeşte un tablou unidimensional cu
maximum 100 de numere reale şi numărul de elemente din tabloul unidimensional.
Subprogramul rearanjează elementele tabloului unidimensional astfel încât toate valorile negative să se afle pe primele poziţii, iar valorile pozitive în continuarea celor negative. Ordinea în cadrul secvenţei de elemente pozitive, respectiv în cadrul secvenţei de elemente negative,
poate fi oricare. Exemplu: dacă este transmis ca parametru un tablou unidimensional cu 6 elemente de forma (12, -7.5, 6.5, -3, -8, 7.5), după apel, acesta ar putea fi: (-7.5, -3, -8, 12,6.5,7.5).

HEEELP!!

Răspunsuri la întrebare

Răspuns de express
3
void aranjare(double v[], int n)
{
    int i, j, k1 = 0, k2 = 0; 
    double x, v1[10005], v2[10005];
    for(j = 0; j < n; j ++)
     {
         x = v[j];
         if(x < 0) 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;
}

Alte întrebări interesante