supprimer valeurs dans vector
Bonjour, en executant mon code ci dessous, une erreur m'apparait :
Expression: Vector suscrit out of range ( Le but etant de supprimer les nombres paires dans le second tableau, en utilisant vector et erase )
Je ne comprend pas cette erreur, et solicite de l'aide merci :)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #include <iostream>
#include <conio.h>
#include <vector>
using namespace std;
void main()
{
const int nMax = 20;
vector<int> tab(20);
for (int a = 0; a < nMax; a++)
{
tab[a] = rand() % 101;
}
cout << "Voici le tableau de 20 entiers donne aleatoirement." << endl;
for (int a = 0; a < nMax; a++)
{
cout<<" | "<< tab[a];
}
cout << "\n\nVoici le tableau sans les nombres paires :" << endl;
for (int a = 0; a < nMax; a++)
{
if (tab[a]%2==0)
{
tab.erase(tab.begin());
}
else
{
cout << " | " << tab[a];
}
}
_getch();
} |