Donats una llista de parells (potser amb repeticions) de nombres enters
(sempre acabada amb el parell 0 0
), i un número N
,
cal calcular el nombre d’aparicions d’N
com a primer element dels parells de la llista
i la suma dels seus companys. Si l’element no existeix, definim la suma dels companys com a zero.
Entrada
Una llista de parells acabada amb el parell 0 0
i un número N
Sortida
El número N
, el nombre de vegades que apareix N
en primer lloc i la suma dels seus companys.
Observació
Cal fer servir la classe list
de les stl
.
Heu d’enviar tres fitxers en un sol .tar:
void LlegirLlistaParInt(list<ParInt>& l);
// Pre: l és buida; el canal estandar d’entrada conté un nombre
// parell d’enters, acabat pel parell 0 0
// Post: s’han afegit al final de l els parells llegits fins al
0 0 (no inclòs)
void EscriureLlistaParInt(const list<ParInt>& l); (opcional)
// Pre: cert
// Post: s’han escrit al canal estandar de sortida els elements de l
Observeu que per als parells d’enters us donem la classe ParInt que detecta si el parell llegit és 0 0 i que per compilar us donem el Makefile.
Input
5 1 5 1 4 5 5 1 4 3 3 2 1 2 0 0 5
Output
5 3 3
Input
5 1 5 1 4 5 0 0 2
Output
2 0 0