【发布时间】:2019-04-05 00:31:41
【问题描述】:
所以我很难记住如何在 C++ 中调用随机数。我不知道该怎么做,所以如果有人能提醒我,那就太好了。我正在尝试制作一个随机大小的向量,其中填充了随机整数。这是我的以下代码:
#include <cstdlib>
#include <iostream>
#include <vector>
int main()
{
int randSize = rand();
int sum = 0;
int product = 1;
std::vector<int> numbers(randSize);
int output;
for (int i = 0; i < numbers.size(); i++)
{
int randNum = rand();
numbers[i] = randNum;
output = numbers[i]&2;
if (output == 0)
{
sum += numbers[i];
}
else
{
product = product * numbers[i];
}
}
std::cout << "The sum of even numbers is " << sum << "\n";
std::cout << "The product of off numbers is " << product << "\n";
}
【问题讨论】:
-
What you know is best forgotten。而不是重新学习它,learn
<random>instead。std::uniform_int_distribution,尤其是最后的例子,应该会让你继续前进。 -
警告
std::vector<int> numbers(randSize);。随机数(即使是旧的rand)可能会变得非常大,并且用作vector的大小很容易耗尽可用内存。