[C++]Vectorの要素をランダムに取得するには?

C++

どうも、ちょげ(@chogetarou)です。

Vectorの要素をランダムに取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Vectorの要素をランダムに取得するには、rand()を使います。

まず、Vector名と[]を記述します。

そして、[]内に、rand()をVectorの要素数で割った余りをを指定します。

//myVec=対象のVector
T result = myVec[rand() % myVec.size()]

上記の[]は、Vectorの要素をランダムに取得します。

使用例

#include <iostream>
#include <vector>
#include <ctime>
using namespace std;

int main(void){
    
    vector<int> nums = { 11, 2, 8, 20, 7, 4 };
    
    srand(time(NULL));
    
    for (int i = 0; i < 5; i++) {
        cout << nums[rand() % nums.size()] << endl;
    }
    
    return 0;
}
出力:
2
8
4
4
8

コメント

タイトルとURLをコピーしました