Compra d'articles d'una llista X33315


Statement
 

pdf   zip   tar

html

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.

Public test cases
  • Input

    2
    90 120
    50

    Output

    [90,120]
    50
    Es poden comprar 0 articles
    
  • Input

    5
    40 40 30 20 40
    125

    Output

    [40,40,30,20,40]
    125
    Es poden comprar 3 articles
    
  • Input

    8
    40 10 10 10 10 10 10 50
    70

    Output

    [40,10,10,10,10,10,10,50]
    70
    Es poden comprar 4 articles
    
  • Information
    Author
    Neus Català
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make