Cerinţa
Un șir de numere întregi a1, a2, …, an este peak, dacă există o poziție p, cu 1 < p < n astfel încât șirul să fie strict crescător până la poziția p și strict descrescător de la poziția p până la final. De exemplu, a = 2,5,7,20,15,7,1,-1 este peak, pe când șirurile 1,2,3,4 sau 1,3,5,3,1,5,1 sau 5,3,1 nu sunt peak.
Scrieţi definiția completă a subprogramului C++ Peak cu antetul:
void Peak(int a[], int n, int &isPeak, int &poz)
unde a este un tablou unidimensional cu maximum 1000 de numere întregi, n, numărul efectiv de elemente ale tabloului. Dacă vectorul a memorează un șir peak, atunci isPeak va fi egal cu 1, iar poz va reține poziția numărului maxim din a. Dacă vectorul a nu este un șir peak, atunci isPeak va fi egal cu 0, iar poz va reține valoarea 0.
Restricţii şi precizări
3 ≤ n ≤ 1000- elementele vectorului
asunt indexate de la1lan
Exemplu:
Dacă a = 2,5,7,20,15,7,1,-1 și n = 8, apelul Peak(a, n, isPeak, poz) va furniza ca rezultat isPeak = 1 și poz = 4.
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.