C++怎么从数组中随机取一个元素

写的元胞自动机V型规则,但是一到条件7那里就出错,也就是从数组中随机取一个元素那里。我用的方法是让数组下标取随机,但是运行出来不对。求大佬解答。

 

假设你数组大小为10,那么随机数下标  n = rand()%10就可以了

你把代码贴一下,看看哪里写错了

假设数组大小是N

下标=rand()%N就可以随机取0~N-1了

随机取值的时候,要控制取值范围,不能超过数组的小标上限。

随机一个0到数组大小-1的整型,传到数组中做下标获取数据

#include <stdio.h>
#include <iostream>
#include <time.h>

using namespace std;

#define MAX 10

int main(int argc, char* argv[]) {
    srand( (unsigned)time( NULL ) ); //srand()函数产生一个以当前时间开始的随机种子

    int array[MAX] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    // 注意:参数的随机数一定要在数组的索引范围之内,否则会有越界的风险
    int index = rand() % MAX;    // 参数0 - 9的随机数

    cout << array[index];    

    return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632