编写一个产生器,用来产生0~9范围内的随机数 //建立一个顺序容器,使用该产生器和generate算法为该容器的元素赋值
时间: 2024-01-22 14:19:47 浏览: 64
以下是C++代码实现:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
#include <random>
int main() {
// 产生0~9范围内的随机数的生成器
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(0, 9);
// 建立一个顺序容器
std::vector<int> vec(10);
// 使用generate算法为该容器的元素赋值
std::generate(vec.begin(), vec.end(), [&]() { return dis(gen); });
// 输出容器中的元素
std::cout << "随机生成的数字:";
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
运行结果示例:
```
随机生成的数字:5 2 8 0 6 0 7 2 0 6
```
相关问题
习题10-12 编写一个产生器,用来产生0~9范围内的随机数 //建立一个顺序容器,使用该产生器和generate算法为该容器的元素赋值 //习题10-13 编写一个二元函数对象,用来计算x的y次方,其中x和y都是整数 //利用该函数对象和transform算法,并结合适当的函数适配器 //对于10-12所生成的整数序列中的每个元素n, 分别输出5^n, n^7和n^n
习题10-12:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
#include <random>
int main()
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(0, 9);
std::vector<int> nums(10);
std::generate(nums.begin(), nums.end(), [&](){ return dis(gen); });
for (int n : nums)
std::cout << n << " ";
std::cout << std::endl;
return 0;
}
```
习题10-13:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <cmath>
struct power
{
int operator()(int x, int y) const
{
return std::pow(x, y);
}
};
int main()
{
std::vector<int> nums{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std::vector<int> res(nums.size());
std::transform(nums.begin(), nums.end(), res.begin(), std::bind(power(), std::placeholders::_1, 5));
for (int n : res)
std::cout << n << " ";
std::cout << std::endl;
std::transform(nums.begin(), nums.end(), res.begin(), std::bind(power(), std::placeholders::_1, 7));
for (int n : res)
std::cout << n << " ";
std::cout << std::endl;
std::transform(nums.begin(), nums.end(), res.begin(), std::bind(power(), std::placeholders::_1, std::placeholders::_1));
for (int n : res)
std::cout << n << " ";
std::cout << std::endl;
return 0;
}
```
js编写一个函数,实现获取1~9范围内的随机数。
要实现获取1~9范围内的随机数,可以使用JavaScript编写一个函数如下:
```javascript
function getRandomNumber() {
return Math.floor(Math.random() * 9) + 1;
}
```
上述函数使用`Math.random()`方法生成一个0(包含)到1(不包含)之间的随机数,然后乘以9,得到一个范围在0(包含)到9(不包含)之间的随机数。接着使用`Math.floor()`方法向下取整,得到0到8范围内的随机整数。最后加1,得到1到9范围内的随机整数。将此随机整数作为函数的返回值,即可实现获取1~9范围内的随机数。
例如,调用`getRandomNumber()`函数,可能得到1、5、9等范围内的随机数。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)