gpt4 book ai didi

c++ - 我正在尝试获取数组中的随机元素,为什么我的简单代码不起作用?

转载 作者:行者123 更新时间:2023-11-30 02:40:21 25 4
gpt4 key购买 nike

我试图让这段代码在更大的解决方案中工作,问题是代码的随机部分永远不会得到 -1,只有 0、1 或 2 和 2 甚至不在阵列。无法弄清楚这个,但它可能很简单。

#include <iostream>
#include <time.h>
using namespace std;

int main() {
srand(time(NULL));
int dy(0), dx(0);
const int setSize = 3;
int numbers[setSize] = { -1, 0, 1 };

for (int i(0); i < 50; ++i) {
dy = 0; dx = 0;
while (dx == 0 && dy == 0) { // makes sure the zombie actually moves somewhere
dx = rand() % setSize;
dy = rand() % setSize;
}

cout << "\n" << dy << "\t" << dx;
}

system("pause");

}

提前谢谢大家。

最佳答案

rand() % setSize 将给出一个数字,但不包括 setSize,如您所见。您需要将其用作数组索引以获取数组的随机成员。

dx = numbers[rand() % setSize];

关于c++ - 我正在尝试获取数组中的随机元素,为什么我的简单代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29016235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com