Fill a vector with random numbers c++
I've got a vector that I'm trying to fill up with random numbers. I keep running into an issue however that the vector mostly outputs 0 each time that I'm running it (it shouldn't output a 0 ever). What am I doing wrong in my code written below to make it output 0 (it outputs 0 more so than any other number): vector<int> myVector; srand((unsigned)time(NULL)); int a = rand() % 20 + 1; //1 to 20 for (int i =0; i < a; i++){ int b = rand() % 20 + 1; myVector.push_back(b); cout << myVector[b] << endl; } I am a beginner and have not done much C++ programming in a long time so I'm not sure what is