在C++中生成随机数可以使用标准库中的random头文件。具体步骤如下:
#include <random>
std::random_device rd;
和 std::mt19937 gen(rd());
。std::random_device
用于生成随机种子,std::mt19937
是一个Mersenne Twister伪随机数生成器。std::uniform_int_distribution
或正态分布std::normal_distribution
。例如,要生成一个在0到100之间的随机整数,可以使用std::uniform_int_distribution<int> dis(0, 100);
。int random_num = dis(gen);
。下面是一个完整的示例代码:
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dis(0, 100);
int random_num = dis(gen);
std::cout << "Random number: " << random_num << std::endl;
return 0;
}
这段代码会生成一个0到100之间的随机整数,并将其输出到控制台。
对于二维向量,你可以使用嵌套的循环结构来生成随机数。例如,要生成一个3x3的二维向量,可以使用以下代码:
#include <iostream>
#include <random>
#include <vector>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dis(0, 100);
std::vector<std::vector<int>> vec(3, std::vector<int>(3));
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
vec[i][j] = dis(gen);
std::cout << vec[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
这段代码会生成一个3x3的二维向量,并将每个元素的随机数值输出到控制台。
腾讯云相关产品和产品介绍链接地址:
第四期Techo TVP开发者峰会
serverless days
企业创新在线学堂
Elastic Meetup
DBTalk
第四期Techo TVP开发者峰会
领取专属 10元无门槛券
手把手带您无忧上云