Eliminació d'elements d'una pila - recursiu Y67986


Statement
 

pdf   zip   tar

thehtml

Donada una pila d’enters i un número k >= 1, eliminar els elements que estan a distancia k, 2k, 3k,... del top de la pila. El codi ha d’estar correctament documentat amb el Pre, Post, Hipòtesi d’Inducció i Fita.

void deleteDeep(stack<int> &s, int k);
/* Pre: s és una pila d'enters i k >= 1 */
/* Post: la pila s amb els elements k, 2k, 3k... de la pila eliminats */

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 deleteDeep.cpp

Entrada

Com a entrada hi haurà el nombre d’elements que té la pila, una pila d’enters i k >= 1. Observació: el top de la pila està a distància 0 i mai s’elimina

Sortida

Com a sortida es mostrarà la pila original i, a continuació, la pila amb els elements eliminats.

Public test cases
  • Input

    11
    5 2 8 4 3 8 5 7 2 6 4
    2
    

    Output

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

    11
    5 2 8 4 3 8 5 7 2 6 4
    4
    

    Output

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

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

    Output

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

    2
    5 2
    1
    

    Output

    2
    5
    
    2
    
  • Information
    Author
    Alejandro Ríos
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make