
Envoyé par
cob59
Sinon tu pouvais passer un peu de temps à éplucher la STL et...
J'y ai pensé aussi mais en fait il faut qu'il somme les n valeurs du dessus de la pile, vider ces n valeurs (et pas toutes la pile) et ajouter la somme calculée.
Mais ça ne somme pas... peut être ai je mal compris le fonctionnement des reverse iterator... Il partent bien du dernier élément et lorsqu'on l'incrémente il se rapproche du premier
Tant que 1 est égale à 5 (si a vaut 5) faire ... Donc j'imagine que tu as compris le soucis.
1 2
|
if (a <= pile.size()){ |
Ce n'est pas spécialement une bonne idée d'afficher un message, je vois deux façons, soit tu fais :
a = std::min(a, pile.size());
Ou alors tu lance une exception. Mais faire une erreur silencieuse comme ça n'est probablement pas adéquat. Si tu utilises la première méthode, pense bien à le commenter.
Partager