Implementeu un nou mètode de la classe Stack per a intercanviar el segon i tercer element des del top (nota: l’element del top seria el primer des del top).
D’entre els fitxers que s’adjunten en aquest exercici, trobareu
stack.old.hpp, a on hi ha una implementació de
la classe genèrica Stack. En primer lloc,
haureu de fer:
cp stack.old.hpp stack.hpp
A continuació, haureu de buscar dins
stack.hpp la part:
// Pre:
// Post: Els segon i tercer valor des del cim de la pila s'han intercanviat.
// En cas que la pila tingui menys de tres elements, res ha canviat.
// Descomenteu les següents dues linies i implementeu la funció:
// void swap2and3() {
// }
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.
Preferiblement, haurieu d’aconseguir implementar el mètode a base
d’intercanviar punters. De fet, un swap dels
valors, o una implementació a base d’usar push
i pop us permetrà passar els jocs de proves
públics (i així obtenir una part de la nota), però no els privats.
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
La 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 string)
pop
top
swap2and3
Se suposa que la seqüència d’entrada serà correcta (sense pop ni top sobre pila buida).
El programa principal que us oferim ja s’encarrega de llegir aquestes entrades i fer les crides als corresponents mètodes de la classe pila. Només cal que implementeu el mètode abans esmentat.
Per a cada instrucció top, s’escriurà el
top actual de la pila. El programa que us oferim ja fa això. Només cal
que implementeu el mètode abans esmentat.
Avaluació sobre 10 punts: (Afegiu comentaris si el vostre codi no és prou clar)
Solució lenta: 6 punts.
solució ràpida: 10 punts.
Autoria: PRO1
Generació: 2026-01-25T21:35:26.406Z
© Jutge.org, 2006–2026.
https://jutge.org