Cerinţa
Scrieţi definiția completă a subprogramului C++ zero
care are 2
parametri: n
– prin care primește un număr natural și v
, prin care primeşte un tablou unidimensional cu 2•n
elemente, numere întregi cu cel mult 4
cifre. Numărul de elemente pare este egal cu numărul de elemente impare. Elementele au indici de la 1
la 2•n
.
Subprogramul modifică tabloul astfel încât elementele impare să aibă indici impari, iar elementele pare să aibă indici pari. Tabloul modificat este furnizat tot prin parametrul v
.
Restricţii şi precizări
2<n<50
- numele subprogramului cerut este
zero
- parametrii sunt, în această ordine:
n
,v
Exemplu
Dacă n=5
şi v=(4, 5, 0, 9, 10, 7, 15, 3, 8, 10)
, atunci după apel o soluție posibilă este v=(5, 4, 9, 0, 15, 10, 7, 8, 3, 10)
.
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 zero(int n, int a[]){ int par[51], imp[51], ip = 0, ii = 0; for(int i = 1; i <= 2 * n; ++i) if(a[i] % 2 == 0) par[++ip] = a[i]; else imp[++ii] = a[i]; ip = 1; ii = 1; for(int i = 1; i <= 2 * n; ++i) if(i % 2 == 0) a[i] = par[ip], ip++; else a[i] = imp[ii], ii++; }