Agrupar els k en una llista. X79145


Statement
 

pdf   zip   tar

html

Feu una funció recursiva tal que, donada una llista l passada com a paràmetre d’entrada i sortida (per referència) i un enter k, modifiqui la llista l de manera que totes les aparicions de k estiguin juntes a la llista, a partir del primer k que aparegui a l. Tingueu en compte que els altres elements de la llista que no són k han de quedar en el mateix ordre entre ells que a la llista original.

Us donem el programa principal, que agafa les dades del canal d’entrada, fa la crida a la funció que heu d’implementar, i

Entrada

Un enter k i una seqüència d’enters positius que representen una llista.

Sortida

Els elements de la llista original, de manera que tots els k que hi apareixien ara estan junts (adjacents) a partir del primer k que apareixia a la llista.

Els elements de la llista que no són k han de quedar en el mateix ordre entre ells que a la llista original.

Observació

Heu d’enviar el fitxer agrupa_k.cpp amb la solució, comprimit en un fitxer .tar:

tar cvf program.tar agrupa_k.cpp

Per a compilar us donem el Makefile, el programa principal program.cpp, la capçalera agrupa_k.hpp i el fitxer utilitats.hpp.

Public test cases
  • Input

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

    Output

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

    2
    1 2 3 4 5 6 7 2 2 2 2 2 2 2 
    

    Output

    1 2 2 2 2 2 2 2 2 3 4 5 6 7 
    
  • Information
    Author
    PRO1-Vilanova
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make