Fes una funció amb la capçalera:
double mediana(const vector<int>& v);
que rep un vector d’enters ordenat i retorna la seva mediana.
La mediana es defineix com el “valor central” d’un vector ordenat. És a dir, és un element tal que té el 50% d’elements restants per sobre i l’altre 50% per sota. Si el vector d’enters té un número d’elements senar, la mediana és l’element del mig exactament. Si el vector té un número d’elements parell, la mediana és la mitjana entre els dos valors centrals.
Entrada
La funció rep un vector d’enters ordenat, que té com a mínim un element.
Sortida
La funcio retorna la mediana segons la definició donada més amunt. Per aquesta definició, la mediana d’un vector d’enters pot ser un real.
Observació
El programa principal que fa servir el Jutge per provar el programa és:
vector<int> v; int n; while (cin >> n) { v.push_back(n); } sort(v.begin(), v.end()); cout.setprecision(2); cout << mediana(v) << endl;
Input
0 5 10
Output
5
Input
1 2 3 4
Output
2.5
Input
1 12 1 1 13 1 14 3 15
Output
3