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

Scrieţi definiția completă a subprogramului C++ sub care are 3 parametri: n – prin care primește un număr natural, v, prin care primeşte un tablou unidimensional cu n elemente, numere naturale cu cel mult 4 cifre și x, prin care primeşte un număr natural. Cel puțin un element al tabloului v are valoarea x.

Subprogramul modifică ordinea valorilor din tablou, astfel încât toate valorile egale cu x să ocupe primele poziţii din v, iar celelalte valori să se regăsească în continuarea acestora, în ordinea inițială. Tabloul modificat este furnizat tot prin parametrul v.

Restricţii şi precizări

2 numele subprogramului cerut este sub
parametrii sunt, în această ordine: n, v, x
elementele tabloului v sunt indexate de la zero

Exemplu
Dacă n=9, v=(2, 1, 0, 1, 7, 0, 1, 4, 5) şi x=1, atunci, după apel, v=(1, 1, 1, 2, 0, 7, 0, 4, 5).

Important
Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

Răspunsuri la întrebare

Răspuns de express
3
void sub(int n, int v[], int x)
{
    int aux,i,k=0,w[55];
    for(i=0;i<n;i++)
     if(x!=v[i]) w[k++]=v[i];
    for(i=0;i<n-k;i++) v[i]=x;
    for(i=n-k;i<n;i++) v[i]=w[i-(n-k)];
}

Alte întrebări interesante