rand() 不创建随机数
rand() doesn't create random numbers
我有一个简单的程序,到目前为止创建了5个社区卡(全部为整型)。我已经设法设置了这些(它们是全局变量,这是故意的),但是每次我运行程序时,它们都会创建相同的数字。代码如下:
int communityCards[5];
int playerCards[2];
int opponentCards[2];
int communityValues[5];
int playerValues[2];
int opponentValues[2];
int main(int argc, const char * argv[]) {
for (int i = 0; i < 9; i++) {
if (i < 5) {
communityCards[i] = rand() % 52 - i;
for (int a = 0; communityCards[a]!=0; a++) {
communityCards[i]==communityCards[a]?communityCards[i]++: a = a;
}
}
printf("%i ", communityCards[i]);
}
}
在调用rand
之前,只使用一次具有适当种子的srand
。通常使用srand(time(0))
或者,c++ 11提供了许多更好的带有细粒度规范的随机数生成器(rand
基本上不保证它生成的数字的质量)。
您希望在main
的开头调用srand(time(NULL));
。
通常你想要填满一副牌,用std::random_shuffle
洗牌,然后将牌从那里移到社区,玩家和对手的手中。
在程序开头写srand
函数将当前时间作为种子
int main()
{
srand(time(0));
// STUFF
}
相关文章:
- 尝试在 c++ 中创建随机数生成器并收到错误
- 创建一个带有随机数的向量
- 创建整数的 2D 数组,该数组将使用两个函数用随机数填充矩阵.我做错了什么?
- 如何在C++中创建数字列表,以便它可以选择一个随机数?
- 在 c++ 中创建具有指数分布的随机数(可视化标准)
- 用于创建高斯随机数的 c++ 函数
- 使用MersenneTwister从泊松区创建随机数
- 如何在C 中创建正常分布式随机数生成器的数组
- 在C++中创建随机数矩阵,无需循环
- 使用具有唯一随机数的结构数组创建多个对象
- visual如何在C++中创建一个随机数数组
- 创建双格式的随机数,eclipse停止工作
- 另一种创建随机数的方法
- 创建一个函数以返回指定范围内的随机数
- SRAND 不帮助我创建随机数
- 随机数生成器不断创建2
- 我正在尝试创建一个程序,该程序根据用户输入的最大值将随机数相乘
- rand() 不创建随机数
- 如何创建两个独立的对象,显示随机数10次
- 我能让我的while循环在每次循环时创建一个新的随机数吗