Esborra parelles amb un zero saltant-ne algunes

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.cc el programa principal
Makefile per compilar amb make còmodament
.vscode per poder debuggar amb F5

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

Informació del problema

Autoria: Pau Fernández

Generació: 2026-01-25T21:38:04.334Z

© Jutge.org, 2006–2026.
https://jutge.org