Implementeu un nou mètode de la classe Stack que retorni la mateixa pila, però, els elements que estan en posició parella, estiguin multiplicats per la variable n.
A continuació, haureu de buscar dins stack.hpp la part:
// Pre: // Post: Retorna la mateixa pila, però els elements que estan a posició parella, se'ls ha fet el producte del seu valor per "n". // // Descomenteu les següents dues linies i implementeu el mètode: // void stack_variable(int variable) { // }
Haureu de descomentar les dues línies que s’indiquen i implementar aquest mètode. No toqueu la resta de la implementació de la classe, excepte si, per algun motiu, considereu que necessiteu afegir algun mètode auxiliar a la part privada.
D’entre els fitxers que s’adjunten a l’exercici també hi ha program.cpp (programa principal) i Makefile per a compilar.
Per a pujar la vostra solució, heu de crear el fitxer solution.tar així:
tar cf solution.tar stack.hpp
Entrada
L’entrada del programa és una seqüència d’instruccions del següent tipus que s’aniran aplicant sobre una pila que se suposa inicialment buida:
push x (x és un int) pop top stack_variable n (n és un int)
Sortida
Per a cada instrucció top, s’escriurà el top actual de la pila. Per a cada instrucció stack_variable, s’escriurà l’element a què apunta el punter multiplicat per n. El programa que us oferim ja fa això. Només cal que implementeu el mètode abans esmentat.
Input
push 3 top stack_variable 4 push 2 top stack_variable 4 push 1 stack_variable 4 top pop top stack_variable 4
Output
3 2 4 8
Input
push 1 stack_variable 3 top push 2 top stack_variable 3 pop top stack_variable 3 pop push 3 top stack_variable 3 push 4 top stack_variable 3 pop top stack_variable 3 pop push 2 top stack_variable 3 push 7 top stack_variable 3 push 9 top stack_variable 3
Output
3 2 3 3 4 9 2 7 9