Cerinţa
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<n<50- numele subprogramului cerut este
sub - parametrii sunt, în această ordine:
n,v,x - elementele tabloului
vsunt 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.
void sub(int n, int v[], int x){
int a[61], ind = 0;
for(int i = 0; i < n; ++i)
if(v[i] == x)
a[++ind] = x;
for(int i = 0; i < n; ++i)
if(v[i] != x)
a[++ind] = v[i];
for(int i = 1; i <= ind; ++i)
v[i-1] = a[i];
}