Sumar valors en items

Preliminars

En aquest exercici treballarem sobre la següent estructura de dades, que ens serveix per a mantenir una seqüència de valors dins de items encadenats mitjançant punters.

struct Item {
	int value;
	Item* next;
};

Exercici

Implementeu una funció RECURSIVA que, donat un Item* que apunta a una seqüència d’items encadenats, retorna la suma dels seus valors.

// Pre:  pitem apunta al primer element d'una seqüència correcta d'items encadenats.
//       L'últim element de la seqüència apunta a NULL. El propi pitem podria ser NULL,
//       cas en el qual no hi hauria elements a la seqüència.
// Post: retorna la suma dels valors guardats a la seqüència.
int sumOfValues(Item *pitem);

Aquí tenim un exemple de paràmetres entrada i sortida de la funció:

sumOfValues([3]->[2]->[5]->NULL) = 10

Fixeu-vos que l’enunciat d’aquest exercici ja ofereix uns fitxers que haureu d’utilitzar per a compilar: Makefile, program.cpp, sumOfValues.hpp. Us falta crear el fitxer sumOfValues.cpp amb els corresponents includes i implementar-hi la funció anterior. Quan pugeu la vostra solució al jutge, només cal que pugeu un tar construït així:


tar cf solution.tar sumOfValues.cpp

Entrada

L’entrada té un nombre arbitrari de casos. Cada cas consisteix en una línia amb una llista de valors enters. Fixeu-vos en que el programa que us oferim ja s’encarrega de llegir aquestes entrades. Només cal que implementeu la funció abans esmentada.

Sortida

Per a cada cas, la sortida conté una línia amb la corresponent suma dels valors de la llista. Fixeu-vos en que el programa que us oferim ja s’encarrega d’escriure aquestes dades. Només cal que implementeu la funció abans esmentada.

Informació del problema

Autoria: PRO1

Generació: 2026-01-25T21:11:11.034Z

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