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| =