# PBinfo #817 – Zero – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

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.

## Cod sursă C++

```cpp
void zero(int n, int v[])
{
	int pare[101], impare[101], k = 0, p = 0;
	for(int i = 1 ; i <= 2*n ; ++i)
		if(v[i]%2 == 0)
			pare[k ++ ] = v[i];
		else
			impare[p++] = v[i];
	k = p = 0;
	for(int i = 1 ; i <= 2*n ; ++i)
		if(i % 2 == 1)
			v[i] = impare[k++];
		else
			v[i] = pare[p++];
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/817)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/817/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-817/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
