0

私がしなければならない大きなプログラムに実装しようとする前に、これを行う方法をテストしていますが、問題が発生しています。このコードは問題なく動作しますが、引き続きベクトルの最初の数値しか与えません。正確に何がうまくいかないのですか?

#include <iostream>
#include <string>
#include <vector>
#include "stdlib.h"
#include "time.h"

using namespace std;

int main()
{
    int randomNumber;
    int length;
    int i = 0;
    vector<int> x;
    x.push_back(12);
    x.push_back(1);
    x.push_back(6);
    x.push_back(34);
    x.push_back(23);

    srand(time(0));
    length = sizeof(x.capacity() - 1) / sizeof(int);

    while(i < 10){
        randomNumber = x[rand() % length];
        cout << randomNumber << endl;
        i++;
    }

    return 0;
}
4

3 に答える 3