Una llista d’enters és equilibrada si algun element de la llista compleix que la suma dels seus predecessors és igual a la suma dels seus successors.
Per exemple, la llista és equilibrada ja que el compleix que .
Implementa una funció ITERATIVA que donada un llista d’enters torna cert si la llista és equilibrada i fals altrament.
La capçalera de la funció és la següent:
// \textbf{Pre}: cert
// \textbf{Post}: retorna cert si la llista té algun element que compleix que la suma
// dels seus predecessors és igual a la suma dels seus successors; fals altrament
bool llista_equilibrada(const list<int> &l)
La funció i subfuncions que creïs han de treballar només amb llistes
(la classe list de la biblioteca STL). Has de trobar una
solució ITERATIVA i eficient del problema. En
particular, no hi hauria d’haver cap crida recursiva en cap de les
funcions que implementis. Si crees funcions auxiliars, afegeix-hi les
corresponents Pre i Post. En els
bucles inclou l’invariant del bucle i la funció
de fita.
IMPORTANT: Només cal enviar el procediment demanat; el programa principal serà ignorat.
Input/Output