Donada una llista de nombres, diem que un element és feble en mitjana si és més petit que la mitjana dels anteriors. Considerem que, si una llista no és buida, el primer element no és feble en mitjana. Dissenyeu una operació iterativa que, donada una llista de double no buida , obtingui en una altra llista el resultat de treure d’ els elements febles en mitjana. Feu servir aquesta especificació:
void seleccio(const list<double>& l, list<double>& sel)
/* Pre: l no es buida, sol es buida */
/* Post: sel es el resultat de treure d'l els elements febles en mitjana */
Per exemple, si la llista és
7 -5 5 6 -2 2 5 1 -1
s’ha d’obtenir aquesta llista
7 5 6 5
i si la llista és
-7 -5 5 6 -2 2 5 1 -1
s’ha d’obtenir aquesta llista
-7 -5 5 6 2 5 1
L’entrada és una llista de double.
La sortida és una llista com la d’entrada peró sense els elements febles en mitjana.
Només s’ha d’enviar un fitxer que contengui la funció amb la capçalera de l’enunciat i qualsevol altra funció auxiliar que cregueu convenient, sense la funció main. Afegiu-hi també els includes de les classes que utilitzeu.