Donada la classe Llista que permet guardar seqüències d’enters amb una llista simplement encadenada, sense fantasma i no circular, cal implementar el mètode
que duplica els elements positius i elimina els elements negatius del paràmetre implícit.
Cal enviar a jutge.org només la implementació del mètode duplica_positius_elimina_negatius. La classe Llista té la següent especificació:
Per testejar la solució, jutge.org ja té implementats la resta de mètodes de la classe Llista i un programa principal que processa línies d’enters amb els que crea llistes i desprès crida el mètode duplica_positius_elimina_negatius.
Entrada
L’entrada conté vàries línies formades per seqüències d’enters. Cadascuna d’elles són els elements que tindrà cada llista.
Sortida
Per a cada línia d’entrada, escriu una línia amb el resultat desprès d’haver duplicat els elements positius i eliminat els elements negatius de la llista: El nombre d’elements de la llista seguit d’un espai i dels elements de la llista entre claudàtors i separats per espais.
Observació
Cal enviar la solució (el fitxer solution.cpp) comprimida en un fitxer .tar:
tar cvf solution.tar solution.cpp
Només cal enviar la implementació del mètode duplica_positius_elimina_negatius. Segueix estrictament la definició de la classe de l’enunciat.
Input
0 3 -6 8 0 4 -2 0
Output
9 [0 3 3 8 8 0 4 4 0]
Input
3 -6 8 0 4 -2 5 3 6 -8 0 -4 2 5
Output
9 [3 3 8 8 0 4 4 5 5] 9 [3 3 6 6 0 2 2 5 5]
Input
-3 6 8 0 4 2 -5 -3 -6 8 0 4 -2 -5
Output
9 [6 6 8 8 0 4 4 2 2] 5 [8 8 0 4 4]
Input
Output
0 []
Input
0 3 -3
Output
1 [0] 2 [3 3] 0 []
Input
0 0 -3 -5 3 5 -3 5 3 -5 3 0 0 3 -5 0 0 -5
Output
2 [0 0] 0 [] 4 [3 3 5 5] 2 [5 5] 2 [3 3] 3 [3 3 0] 3 [0 3 3] 1 [0] 1 [0]