Compra d’articles d’una llista

Escriviu una funció recursiva compra_articles que, donada una llista l
de preus d’articles (enters) i una quantitat (enter) de diners en euros,
torni el nombre d’articles que es podran comprar amb aquests diners
seguint l’ordre en què apareixen a la llista l, començant per l’inici
(begin). Quan un article no es pugui comprar es deixarà de banda. La
solució ha de tenir en compte que no hi haurà cap article de menys de 10
euros.

L’especificació d’aquesta funció és:

    int compra_articles(const list<int> &l, int x);
    /* Pre: l = L, x > 0 */
    /* Post: El resultat es el nombre d'articles de L que podem comprar amb x euros */

Per exemple, donada la llista l = [40, 40, 30, 20, 10, 10, 10] i una
quantitat x = 105, es poden comprar tres articles que, seguint l’ordre
en què apareixen a la llista, serien: 40, 40, 20. No es tracta de
maximitzar el nombre d’articles a comprar.

Entrada

Com a entrada hi haurà el nombre d’enters n de la llista (n ≥ 0) i els n
enters que formaran part de la llista. A continuació hi haurà un enter
corresponent a l’import en euros de què es disposa.

Sortida

Com a sortida es mostrarà l’estructura de la llista d’entrada, l’enter
corresponent a l’import disponible i un missatge indicant el nombre
d’articles que es poden comprar.

Observació

Escriviu el codi de la funció compra_articles dins del fitxer
llista_compra_articles.cpp.

Heu d’enviar la solució comprimida en un fitxer .tar:

tar cvf program.tar llista_compra_articles.cpp

Observeu que per compilar us donem el Makefile, el mòdul listIOint, la
capçalera del mòdul funcional llista_compra_articles.hpp i el programa
principal program.cpp.

Informació del problema

Autoria: Neus Català

Generació: 2026-01-25T21:08:47.014Z

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