a) Scrieți definiția completă a subprogramului 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 patru 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.

b) Scrieți un program C/C++ care citește de la tastatură o valoare naturală nenulă n, (3≤n≤100), apoi cele n elemente, distincte, ale unui tablou unidimensional x. Fiecare dintre aceste elemente este un număr natural având cel mult patru cifre. Folosind apeluri utile ale subprogramului p, programul calculează și afișează pe ecran media aritmetică a elementelor care ar rămâne în tabloul x dacă s-ar elimina valoarea minimă și valoarea maximă din tablou. Valoarea afișată va avea cel mult 3 cifre după virgulă. Exemplu: dacă se citesc pentru n valoarea 5, iar pentru tabloul x valorile (1,9,4,8,5), programul va afișa una dintre valorile 5.667 sau 5.666.

Rezolvare:

#include <iostream.h>
unsigned int n, i;
int x[100], mini, maxi, sum;
float media, sm;
void p (unsigned int n, int x[100], int &mini, int &maxi, int &sum)
{mini=9999;
maxi=-9999;
sum=0;
for (i=1; i<=n; i++)
{if (x[i]<mini) mini=x[i];
if (x[i]>maxi) maxi=x[i];
sum=sum+x[i];
}
}

void main()
{cin>>n;
for (i=1; i<=n; i++)
cin>>x[i];
sm=sum-(mini+maxi);
media=sm/(n-2);
cout<<media;
}