Mètode per esborrar 0s d'una pila X32043


Statement
 

pdf   zip   tar

html

Implementeu un nou mètode de la classe Stack que donada una pila, retorni la mateixa pila elimininant les posicions on el seu valor és 0, exceptuant si hi ha 0s en els extrems, és a dir, no elimina els 0s dels extrems. El tamany de la pila serà de mínim de 3 elements.

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: Esborra els 0s de la pila, exceptuant si hi ha 0s en els extrems.
// Descomenteu les següents dues linies i implementeu el mètode:
// void Delete0() {
// }

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

La entrada del programa és una seqüència d’una pila amb valors enters:

0 1 0 9 8 4 0 2 0
  =>
0 1 9 8 4 2 0
 

Entrada

La entrada del programa és una seqüència d’una pila amb valors enters. Fixeu-vos en que el programa que us oferim ja s’encarrega de llegir aquestes entrades. Només cal que implementeu la funció abans esmentada.

Sortida

Per a cada cas, la sortida conté la mateixa pila sense els 0s anteriorment esmentats, és a dir, els 0s que no es troben en els extrems. Fixeu-vos en que el programa que us oferim ja s’encarrega d’escriure aquesta verificació. Només cal que implementeu la funció abans esmentada.

Public test cases
  • Input

    0 1 2 3 0 0 4 5 0 0 6 0 7 0 0 8 0

    Output

    0 1 2 3 4 5 6 7 8 0
    
  • Input

    0 1 0 2 1 0 1 2 0 4 0 5 4 0 6 5 0 8 0 9 8 0 4 0 5 0 6 5 4 0 

    Output

    0 1 2 1 1 2 4 5 4 6 5 8 9 8 4 5 6 5 4 0
    
  • Information
    Author
    Estudiants PRO1
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make