Esborra parelles amb un zero saltant-ne algunes Y17697


Statement
 

pdf   zip   tar

thehtml

Implementa la següent funció:

/**
 * @brief Esborra parelles d'una llista que tinguin un 0 al camp 
 *        `second`, saltant-ne `skip`
 *
 * `skip` és el nombre de parelles que, tenint un zero en el camp 
 * `second`, NO s'han d'esborrar de la llista, comptant des del 
 * principi. `skip` pot ser més gran que les parelles que tenen 0 
 * al camp `second`.
 *
 * @param  L     La llista de parelles
 * @param  skip  El nombre de parelles a saltar
 *
 * @pre   `skip` >= 0
 */
void remove_zeros_skipping(list<pair<string, int>>& L, int skip);

Entrada

L’entrada són una sèrie de casos, a on cada cas té dues línies. La primera conté una llista de parelles d’un nom i un enter. La segona té el valor del paràmetre skip. (La lectura ja la fa el programa principal proporcionat.)

Sortida

La sortida són una sèrie de línies, a on cada línia té la llista de parelles resultant, després de cridar la funció remove_zeros_skipping. (De la sortida també se n’encarrega el programa principal.)

Observació

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

main.ccel programa principal
Makefileper compilar amb make còmodament
.vscodeper poder debuggar amb F5

Cal implementar remove_zeros_skipping en un fitxer .cc nou i enviar només aquest fitxer amb la funció.

Public test cases
  • Input

    a 0  b 0
    0
    a 0  b 0
    1
    a 1  b 2  c 3
    1
    a 1  b 0  c 3  d 0
    1
    a 1  b 0  c 3  d 0
    2
    a 1  b 0  c 3  d 0
    3
    

    Output

    a 0
    a 1 b 2 c 3
    a 1 b 0 c 3
    a 1 b 0 c 3 d 0
    a 1 b 0 c 3 d 0
    
  • Input

    o 2 d 0 p 1 t 1 f 1
    0
    h 0 f 2 t 2
    0
    r 2 a 1 t 2
    1
    g 2 k 2 l 0 p 0
    0
    h 0 b 2 x 0 b 0 y 2 m 2
    0
    i 2 o 1 u 0 a 0
    0
    s 2 u 1 u 1 k 0 a 1 w 1
    0
    r 1
    0
    d 0 s 0 r 2
    1
    w 0 a 2 d 2 j 1 v 1
    1
    

    Output

    o 2 p 1 t 1 f 1
    f 2 t 2
    r 2 a 1 t 2
    g 2 k 2
    b 2 y 2 m 2
    i 2 o 1
    s 2 u 1 u 1 a 1 w 1
    r 1
    d 0 r 2
    w 0 a 2 d 2 j 1 v 1
    
  • Information
    Author
    Pau Fernández
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++