Feu una funció tal que, donada una pila d’enters positius, retorni la mateixa pila, però eliminant-ne els enters senars.
Cal tenir en compte que la pila es passa com a paràmentre d’entrada i sortida (per referència). La capçalera de la funció serà:
void esborraSenars (stack<int> &P)
Entrada
Una llista d’enters positius i que representa una pila d’enters, és a dir, el primer element de la seqüència és el fons de la pila, i el darrer n’és el cim, tot i que això no té importància, ja que us donem el programa principal que s’encarrega de llegir de l’entrada estàndard i fa la crida a la funció.
Sortida
Els elements que queden a la pila d’entrada (respectant l’ordre que tenen a la pila original) sense els enters senars.
Observació
Heu d’enviar la solució comprimida en un fitxer .tar:
tar cvf program.tar esborraSenars.cpp
Observeu que per compilar us donem el Makefile,
les utilitats d’entrada/sortida de piles a utilitats.hpp,
la capçalera del mòdul funcional esborraSenars.hpp
i el programa principal program.cpp.
Jutge.org també us donarà un semàfor verd si envieu una solució iterativa, però no serà correcte ja que l’enunciat del problema demana que la solució enviada sigui recursiva.
Input
3 4 5 6 7 8 7 6 5 4 3 2
Output
|2| |4| |6| |8| |6| |4| =
Input
1 1 1 1 1 1 1 4 1 1 1 1 2
Output
|2| |4| =