👤

Scrieţi definiția completă a subprogramului C++ valuri care are 2 parametri: n – prin care primește un număr natural, v, prin care furnizează un tablou unidimensional cu 2*n elemente, valori naturale distincte din intervalul [1,2*n].

Subprogramul construieşte tabloul v astfel încât, în acesta, şirul elementelor impare să fie strict crescător, iar şirul elementelor pare să fie strict descrescător. Primul element al tabloului este impar, iar două elemente cu aceeaşi paritate nu pot ocupa poziţii consecutive în tablou.

Exemplu
Dacă n=4 atunci, după apel, v=( 1, 8, 3, 6, 5, 4, 7, 2).


Răspuns :

void valuri(int n, int * v)
{
 for(int i = 0 , j = 1; i < 2*n ; i +=2, j +=2)
  v[i] = j;
  for(int i = 1 , j = 2*n ; i < 2*n; i += 2, j-=2)
   v[i] = j;
 }