[C++]配列のインデックスをランダムに取得するには?

C++

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

配列(array)のインデックス(index)をランダムに取得する方法を紹介します。

スポンサーリンク

方法

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

配列(array)のインデックスをランダムに取得するには、「%」を使います。

まず、rand()を呼び出します。

そして、「%」の左辺にrand()の結果、右辺に配列の要素数を指定します。

//myArray=対象の配列
int index = rand() % size(myArray); //ランダムなインデックスを取得

上記の「%」は、配列(array)のインデックスをランダムに取得できます。

上記の式は、乱数を要素数で割った余りを取得しています。

使用例

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

int main(void){
    
    string nums[5] = { "one", "two", "three", "four", "five"};
    
    srand(time(NULL));
    
    for (int i = 0; i < 5; i++) {
        int index = rand() % size(nums);
        cout << index << endl;
    }
    
    return 0;
}
出力:
1
0
4
3
2

コメント

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