Cerinţa
Scrieţi definiția completă a subprogramului C++ cu antetul:
int NrZero(int a[], int n)
care are doi parametri:
a
, prin care primeşte un tablou unidimensional care memorează numai cifre, astfel: cifrele impare se află la începutul vectorului ordonate descrescător, iar cifrele pare se găsesc la finalul vectorului, ordonate crescătorn
, numărul efectiv de elemente ale tabloului
Subprogramul returnează numărul de valori egale cu 0
din vectorul a
.
Restricţii şi precizări
0 ≤ a[i] ≤ 9
2 ≤ n ≤ 500.000
- Elementele vectorului
a
sunt indexate de la1
- Cifrele impare se află la începutul vectorului ordonate descrescător, iar cifrele pare se găsesc la finalul vectorului, ordonate crescător.
- Rezolvați eficient problema, deoarece funcția se va apela de mai multe ori.
Exemplu:
Dacă n=13
, a=(7,7,3,1,1,0,0,0,2,2,4,6,6)
, funcția va returna 3
, deoarece sunt trei cifre de zero în a
.
Dacă n=7
, a = (7,1,2,2,4,4,8)
, funcția va returna 0
.
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.