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

Subprogramul aranjare are doi parametri: a prin care primeşte un tablou unidimensional
cu maximum 100 de numere reale nenule şi n, numărul de elemente din tablou.
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. Tabloul modificat va fi furnizat tot prin intermediul parametrului a.

Multumesc !

Răspunsuri la întrebare

Răspuns de express
7
// Nu ai spus nimic despre numerele nule (egale cu 0), eu le-am considerat pozitive. Succes!

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 < 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