Control PRO2 - Torn 2 - Problema 2 (primavera 2019)

Volem una operació nova per fer-la servir al context de les classes Cjt_estudiants i Es­tu­diant que heu vist al laboratori. Concretament, si tenim dos conjunts c1 i c2 que representen les notes de dos actes avaluatoris per a un mateix grup d’estudiantes, és a dir c1.con­sul­tar_iessim(i).con­sul­tar_DNI() = c2.con­sul­tar_iessim(i).con­sul­tar_DNI() per a tot i,1i𝚌𝟷.𝚖𝚒𝚍𝚊()=𝚌𝟸.𝚖𝚒𝚍𝚊()i, 1 \leq i \leq \texttt{c1.mida()} = \texttt{c2.mida()} i tres double x,y,z tals que 0𝚡,𝚢,𝚣𝙴𝚜𝚝𝚞𝚍𝚒𝚊𝚗𝚝::𝚗𝚘𝚝𝚊_𝚖𝚊𝚡𝚒𝚖𝚊(),𝚡𝚢0 \leq \texttt{x,y,z} \leq \texttt{Estudiant::nota\_maxima()}, \texttt{x} \leq \texttt{y}, volem crear un nou conjunt amb els estudiants tals que la seva nota a c1 tingui valor entre x i y, ambdós inclosos, i la seva nota a c2 sigui més gran o igual que z. A aquests estudiants els diem els reavaluables de c1 i c2 respecte a x,y,z i han de quedar sense nota en el nou conjunt.

Hem optat per afegir una nova operació que no pertany a cap classe amb la següent especificació:

void extreure_reavaluables(const Cjt_estudiants& c1, const Cjt_estudiants& c2,
                           double x, double y, double z, Cjt_estudiants& reava);
  /* Pre: c1 i c2 contenen els mateixos estudiants, reava es buit,
          0<=x,y,z<=Estudiant::nota_maxima(), x<=y */
  /* Post: reava està format pels estudiants reavaluables de c1 i c2 
           respecte a x,y,z, tots sense nota */

Observació

Heu de lliurar un fitxer solution.cc amb una implementació eficient de l’operació ex­treu­re_re­ava­lua­bles. Aquest fitxer no pot accedir als elements privats de les classes Cjt_estudiants i Es­tu­diant. Òbviament, sí que pot fer servir les operacions públiques de les versions que us donem d’ambdues.

A l’apartat Public files del Jutge (icona del gatet) us proveïm amb una plantilla pel fitxer solution.cc que només cal completar. A més, trobareu material addicional, tot comprimit en un fitxer .tar. Podeu descomprimir aquest fitxer amb la comanda

   tar -xvf nom_fitxer.tar

Aquest material addicional consisteix en els següents fitxers:

És fonamental que la solució sigui eficient en temps i espai. No es pot emprar cap estructura de dades que no hagi aparegut a les sessions 1-4 de laboratori.  
Quan feu els enviaments el Jutge us indicarà quants jocs de proves passeu i de quin tipus (public o privat). El joc de proves anomenat public s’explica al fitxer llegeixme.txt. El privat1 és molt semblant al public. Els privat2 i privat3 proven situacions especials.

Informació del problema

Autoria: Professors de PRO2

Generació: 2026-01-25T15:30:25.241Z

© Jutge.org, 2006–2026.
https://jutge.org