Eliminació d'elements d'una cua - recursiu Z96304


Statement
 

pdf   zip   tar

thehtml

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

void deleteDeep(queue<int> &s, int k);
/* Pre: s és una cua d'enters i k >= 1 */
/* Post: la cua s amb els elements k, 2k, 3k... de la cua 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 cua, una cua d’enters i k >= 1. Observació: el front de la cua està a distància 0 i mai s’elimina.

Sortida

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

Public test cases
  • Input

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

    Output

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

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

    Output

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

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

    Output

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

    2
    5 2
    1
    

    Output

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