どうも、ちょげ(@chogetarou)です。
配列(array)の要素をランダムに取得する方法を紹介します。
方法

配列(array)の要素をランダムに取得するには、rand()を使います。
まず、配列名と[]を記述します。
そして、[]内に、rand()を配列の要素数で割った余りをを指定します。
//myArray=対象の配列, T=配列の要素の型
int length = sizeof(myArray) / sizeof(T); //配列の要素数を取得
T result = myArray[rand() % length] //配列の要素をランダムに取得
上記の配列名[]
は、配列の要素をランダムに取得します。
使用例
#include <iostream>
#include <ctime>
using namespace std;
int main(void){
int nums[6] = { 11, 2, 8, 20, 7, 4 };
srand(time(NULL)); //シードの生成
int length = sizeof(nums) / sizeof(int);
for (int i = 0; i < 5; i++) {
cout << nums[rand() % length] << endl;
}
return 0;
}
出力:
4
4
11
2
7
コメント