c++ - 由第二个数组中的值限定的随机数数组

标签 c++ arrays random vector boundary

有人可以给我一个很好的解释,说明如何实现这一点吗?

例如,假设我有一个初始化为值 {3, 4, 5} 的数组 a[j]。我想构建第二个数组,其中填充的随机数低于零,高于第一个数组中的值。因此 b[i] 将被初始化为以下范围内的随机数:{0-3, 0-4, 0-5}

在 C++ 中实现此目的的好方法是什么?

最佳答案

如果您的系统有arc4random(3)和 friend (可能确实如此),这真的很容易:

int a[3] = {3, 4, 5};
int b[3];
for (int i = 0; i < 3; i++)
{
    b[i] = arc4random_uniform(a[i] + 1);
} 

来自上面链接的手册页:

arc4random_uniform() will return a single 32-bit value, uniformly distributed but less than upper_bound.

关于c++ - 由第二个数组中的值限定的随机数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29503910/

相关文章:

c++ - 如何使窗口出现在所有内容之上(甚至是全屏游戏!)c++/Qt

java - 将 char 数组转换为 String。 java

c - 如何将二维数组的每一行循环移动两个位置?

c - 是什么让阵列在没有温度的情况下向左旋转?

python - 我想从一个列表中随机选择项目并将它们添加到另一个列表而不需要替换

python - 如何使用从外部脚本调用的回调发送信号?

c++ - 关闭连接后,Valgrind 在 ssl 中显示内存泄漏

c++ - 使用 CMake 在 Windows (MSVC) 中查找库

java - 递归随机数生成器

c++ - 使用 OpenACC 生成可移植随机数