Cerinţa
Scrieţi definiția completă a subprogramului C++ recursiv ordonare
care are 2
parametri: a
, prin care primeşte un tablou unidimensional cu maximum 1000
de numere naturale mai mici decât 1.000.000.000
și n
, numărul efectiv de elemente ale tabloului.
Subprogramul ordonează crescător elementele tabloului a
, fără a returna valori.
Restricţii şi precizări
0 < n <= 1000
- numele subprogramului cerut este
ordonare
- parametrii sunt, în această ordine:
a
,n
- elementele tabloului
a
sunt indexate de la zero - se recomandă realizarea unei soluții recursive
Exemplu
Dacă n=6
și a=(63,273,9,83,93,123)
, după apelul subprogramului tabloul a
devine (9,63,83,93,123,273)
.
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 ordonare(int a[] , int n) { for(int i = 1 ; i < n ; ++i) { if(a[i]<a[i-1]) swap(a[i],a[i-1]); } if(n > 0) ordonare(a , n - 1); }