Cerinţa
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.
Restricţii şi precizări
2<n<50
- numele subprogramului cerut este
valuri
- parametrii sunt, în această ordine:
n
,v
- elementele tabloului
v
sunt indexate de la zero
Exemplu
Dacă n=4
atunci, după apel, v=( 1, 8, 3, 6, 5, 4, 7, 2)
.
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 valuri(int n , int a[]) { int imp=1; int par=2*n; for(int i = 0 ; i < 2*n ; ++i) { if(i%2==0) { a[i]=imp; imp+=2; } else { a[i]=par; par-=2; } } }