#include #include <vector> typedef std::vector::iterator iter; typedef std::vector::const_iterator citer; void display(const std::vector& tab) { const citer end = tab.end(); for (citer it = tab.begin(); it != end; ++it) std::cout << *it << " "; std::cout << std::endl; } int main() { std::vector vec; for (int g = 1; g <= 14; ++g) vec.push_back(g); display(vec); const iter end = vec.end(); for (iter it = vec.begin(); it != end; ++it) if (*it 10 || *it 8) it = vec.erase(it); display(vec); return 0; }
nombre = (int) (0 +((float) rand() / RAND_MAX * (verif2.size() - 1)));
calendrier[i][ii] = verif2[nombre]; <-- ICI
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionfor (iter it = vec.begin(); it != vec.end();) if (*it 12 || *it 14) it = vec.erase(it); else ++it;
Peux-tu vérifier ce qui provoque un débordement ? Pour cela simplifie la zone que tu as mise en rouge, et fait la fonctionner dans un petit programme à part, afin que l'on puisse t'aider à le debugger.
(Ce n'est pas peut être pas verif qui déborde, mais ton tableau "calendrier").
#include #include <vector> typedef std::vector::iterator iter; typedef std::vector::const_iterator citer; void display(const std::vector& tab) { const citer end = tab.end(); for (citer it = tab.begin(); it != end; ++it) std::cout << *it << " "; std::cout << std::endl; } int main() { std::vector vec; for (int g = 1; g <= 14; ++g) vec.push_back(g); display(vec); const iter end = vec.end(); for (iter it = vec.begin(); it != end; ++it) if (*it 10 || *it 8) it = vec.erase(it); display(vec); return 0; }
#include #include <vector> typedef std::vector::iterator iter; typedef std::vector::const_iterator citer; void display(const std::vector& tab) { const citer end = tab.end(); for (citer it = tab.begin(); it != end; ++it) std::cout << *it << " "; std::cout << std::endl; } int main() { std::vector vec; for (int g = 1; g <= 14; ++g) vec.push_back(g); display(vec); const iter end = vec.end(); for (iter it = vec.begin(); it != end; ++it) if (*it 10 || *it 8) it = vec.erase(it); display(vec); return 0; }