Un vector de reals és simpàtic si compleix totes les condicions següents:
El vector conté almenys dos elements.
Tots els elements del vector són diferents.
L’element màxim del vector no es troba a la primera posició.
El màxim-esquerrà d’un vector simpàtic és l’element més gran que es troba a l’esquerra del màxim. La simpatia d’un vector simpàtic és la mitjana dels elements que es troben entre el màxim-esquerrà i el màxim (ambdós inclosos).
Per exemple, el vector és simpàtic, el seu màxim és i el seu màxim-esquerrà és . La seva simpatia és .
Feu un programa que llegeixi vectors simpàtics i escrigui la seva simpatia. Per fer-lo, definiu i utilitzeu una acció
void calcula_posicions(const vector<double>& v, int& p, int& q);
que, donat un vector simpàtic, deixi al paràmetre de sortida @p@ la posició del seu màxim, i deixi al paràmetre de sortida @q@ la posició del seu màxim-esquerrà. Així, per a l’exemple anterior, caldria que @p@ valgués 4 i @q@ valgués 1.
L’entrada conté una seqüència de vectors simpàtics. Cada vector comença amb un natural , seguit dels seus elements.
Cal escriure la simpatia de cada vector de l’entrada, amb sis dígits darrera el punt decimal.
Recordeu que per escriure un real amb exactament @n@ dígits darrera el punt decimal, cal afegir les dues línies següents al principi del @main@:
cout.setf(ios::fixed);
cout.precision(n);
Autoria: Professorat de P1
Generació: 2026-01-25T12:19:13.234Z
© Jutge.org, 2006–2026.
https://jutge.org