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];
}
}