Haureu d’implementar una funció que rebrà un vector ordenat
creixentment de notes d’un examen. Cada nota serà un
double entre 0 i 10. Conceptualment, cadascuna
d’aquestes notes correspon a una categoria:
Les notes que cumpleixen pertanyen a la categoria A.
Les notes que cumpleixen pertanyen a la categoria B.
Les notes que cumpleixen pertanyen a la categoria C.
Les notes que cumpleixen pertanyen a la categoria D.
L’objectiu de la funció és calcular el nombre de notes de cada categoria.
Aquesta és la capçalera:
// Pre: Sigui n el tamany v.size().
// v està ordenat creixentment, és a dir, per a tot i de {0..n-2}, v[i]<=v[i+1].
// Els valors de v estan entre 0 i 10, és a dir, per a tot i de {0..n-1}, 0<=v[i]<=10.
// Post: numA conté el nombre de valors x de v que cumpleixen 9<=x<=10.
// numB conté el nombre de valors x de v que cumpleixen 7<=x<9.
// numC conté el nombre de valors x de v que cumpleixen 5<=x<7.
// numD conté el nombre de valors x de v que cumpleixen 0<=x<5.
void classify(const vector<double> &v, int &numA, int &numB, int &numC, int &numD);
Per tal de resoldre l’exercici eficientment podeu, i és raonable, crear i utilitzar convenientment una funció auxiliar.
Només cal enviar el procediment demanat; el programa principal serà ignorat.
Avaluació sobre 10 punts:
Solució lenta: 5 punts.
solució ràpida: 10 punts.
Entenem com a solució ràpida una que és correcta, de cost logarítmic i capaç de superar els jocs de proves públics i privats. Entenem com a solució lenta una que no és ràpida, però és correcta i capaç de superar els jocs de proves públics.
Autoria: PRO1
Generació: 2026-01-25T19:43:02.520Z
© Jutge.org, 2006–2026.
https://jutge.org