Cerinţa
Scrieţi definiția completă a subprogramului C++ recursiv ordonare
care are 4
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 și doi indici st dr
.
Subprogramul ordonează crescător elementele tabloului a
cu indici între st
și dr
, inclusiv aceștia,fără a modifica celelalte elemente ale tabloului.
Restricţii şi precizări
0 < n <= 1000
- numele subprogramului cerut este
ordonare
- parametrii sunt, în această ordine:
a
,n
,st
,dr
0≤st≤dr<n
- elementele tabloului
a
sunt indexate de la zero - se recomandă realizarea unei soluții recursive
Exemplu
Dacă n=6
, a=(63,273,9,83,93,123)
, st=1
și dr=3
după apelul subprogramului tabloul a
devine (63,9,83,273,93,123)
.
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.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema OrdonareSecvF_REC :
void ordonare(int a[] , int n , int st , int dr)
{
if(n>st)
{
if(n - 1<= dr)
{
int pmax = n - 1;
for(int i = st ; i < n - 1 ; i ++)
if(a[i] > a[pmax])
pmax = i;
int aux = a[pmax];
a[pmax] = a[n - 1];
a[n - 1] = aux;
}
ordonare(a,n-1,st,dr);
}
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1846 OrdonareSecvF_REC
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1846 OrdonareSecvF_REC de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!