VectorMaxMinSumRec

Scrieți definiția completă a subprogramului recursiv P care primeşte prin intermediul parametrului n un număr natural nenul (n≤100), iar prin intermediul parametrului x un tablou unidimensional cu n componente întregi, de maximum opt cifre fiecare.

Subprogramul furnizează prin intermediul parametrului mini valoarea minimă din tabloul x, prin intermediul parametrului maxi valoarea maximă din x, iar prin intermediul parametrului sum suma elementelor din tabloul x.

Restricţii şi precizări

  • 0 < n <= 100
  • numele subprogramului cerut este P
  • parametrii sunt, în această ordine: x, n, mini, maxi, sum
  • elementele vectorului x sunt indexate de a zero

Exemplu

Dacă n=6 și x= (12, 7, 6, 3, 8, 5), după apel mini=3, maxi=12 și sum=41.

SOLUTIE

void P(int x[], int n, int &mini, int &maxi, int &sum){
if(n == 1)
mini = maxi = sum = x[0];
else
{
P(x , n – 1 , mini ,maxi, sum);
sum += x[n-1];
if(x[n-1] < mini) mini = x[n-1]; if(x[n-1] > maxi)
maxi = x[n-1];
}
}