Pop N S33148


Statement
 

pdf   zip   tar

Implementa un mètode públic de la classe Stack<T> que elimini l’element i-èssim des del cim de la pila. És a dir, considerem que el cim de la pila té l’índex 0.

La declaració és la següent:

/**
 * @post: S'ha eliminat de la pila l'element `i`-èssim, amb `i` en el
 *        rang de 0 a N-1 (amb 0 el cim), sent N la mida de la pila. 
 *        Si l'índex no està en el rang 0 a N-1, la pila no canvia.
 */
void eliminar(int i);

Observació

Per poder avaluar l’ús de punters, no feu servir altres mètodes, ni públics ni privats de la classe per resoldre el problema, accediu sempre als membres privats directament.

Observeu que a l’entrada la pila es llegeix començant per la base fins al cim, que surt l’últim, i en canvi a la sortida és al revés (les marques <top> i <bottom> ho aclareixen).

Els fitxers públics (icona del gatet) contenen:

stack.hh la classe Stack<T>
main.cc el programa principal (gestiona l’entrada i sortida)
Makefile per compilar amb make al terminal
.vscode per compilar i depurar amb F5

Per entregar només cal enviar el fitxer stack.hh modificat.

Entrada

De l’entrada ja se n’encarrega el programa principal. L’entrada està formada per diferents cassos seguits. Cada cas conté un enter ii seguit d’una pila (una seqüència d’enters acabada amb #).

Sortida

De la sortida també se n’encarrega el programa principal. La sortida mostra la pila resultant després d’eliminar l’element i-èssim des del top.

Public test cases
  • Input

    0
    1 2 3 #
    
    3
    1 2 3 4 5 #
    
    5
    1 2 3 4 5 #
    
    1
    1 2 3 4 5 #
    
    6
    1 2 3 #
    

    Output

    <top> 2, 1 <bottom>
    <top> 5, 4, 3, 1 <bottom>
    <top> 5, 4, 3, 2, 1 <bottom>
    <top> 5, 3, 2, 1 <bottom>
    <top> 3, 2, 1 <bottom>
    
  • Information
    Author
    Mª Lluïsa Bonet i Pau Fernández
    Language
    Catalan
    Translator
    Mª Lluïsa Bonet i Pau Fernández
    Original language
    Spanish
    Other languages
    Spanish
    Official solutions
    Unknown.
    User solutions
    C++