Remplissez un vecteur avec des nombres aléatoires c ++

J'ai un vecteur que je suis en train de remplir avec des nombres aléatoires. - Je continuer à courir dans un problème, cependant, que les vecteur pour la plupart des sorties 0 à chaque fois que je suis à court (il ne devrait pas sortie 0 jamais). Ce que j'ai fait une erreur dans mon code ci-dessous pour faire une sortie 0 (sorties de 0, plus que n'importe quel autre numéro):

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;
    }

Je suis un débutant et n'ai pas fait beaucoup de programmation C++ dans un temps long, donc je ne suis pas sûr de ce qui est fait de mon code de dysfonctionnement. Si quelqu'un peut expliquer ce que j'ai fait de mal, il serait grandement apprécié.

source d'informationauteur Valrok | 2014-02-02