为什么我得到的数字超出了我通过的范围
Why am I getting numbers outside the range I passed?
我是 c++ 的新手,我不明白为什么这些数字超出了范围。我
评论我以为你初始范围的地方
#include <vector>
#include <iostream>
#include <random>
#include <time.h>
using namespace std;
using std::vector;
int main()
{
vector<int> deck;
default_random_engine eng(time(0));
我以为这里是我指定随机数范围的地方,但我得到超出该范围的数字
uniform_int_distribution<int> dis(0, 51);
int pos1;
int pos2;
int num1;
int num2;
int i;
int n;
int m;
for (i = 1; i < 53; i++)
{
deck.push_back(i);
}
pos1 = dis(eng);
pos2 = dis(eng);
num1 = deck.at(pos1);
num2 = deck.at(pos2);
for (n = 0; n < 100; n++)
{
pos1 = dis(eng);
pos2 = dis(eng);
cout << pos1 << "n" << pos2;
}
}
看起来问题出在最后一行cout << pos1 << "n" << pos2;
(这里你忘了添加<< "n"
)。因此,如果您的程序打印四个数字(例如 22、23、24、25),您将看到以下文本:
22
2324
25
所以数字 2324 将超出您的范围,但实际上它是两个数字的串联。
相关文章:
- 求出有多少个数字是完美平方,而sqrt()是L,R范围内的素数
- 如何从适合一定范围的数字中提取数字?
- 如何使用count_if计算向量中的可变数字范围
- 如何找到给定范围内除以给定数字时具有一定余数的值的数量?
- 如何按升序对输入文件中的数字进行排序,并找到它们的范围和中值
- 从(排序的)数字列表中获取数字范围
- 我应该如何使用remove_if删除两个数字范围内的元素
- C++ 如何在给定范围内将数组中的数字相加?
- 计算数字范围内特定数字的出现次数
- 为什么此范围基于语句返回一个数字太低的范围
- 编程:原理与实践 使用C++ 第 4 章演练步骤 6:关于数字范围的一般问题
- 当数字可能超出C++中特定数据类型的范围时如何处理异常?
- 随机整数仍在生成低于或高于范围的数字?
- RAND()在递归功能中产生的数字高于设定范围
- 从排序的数字数组中返回数字范围的最快方法是什么?
- 给定 N 个范围.有多少种方法可以从这些范围中获取 N 个数字,这些数字的总和达到某个值
- 更快的方法将数字从范围转换为另一个范围
- 在给定范围内数字的最大值
- 操作员支持的数字范围
- 用于大范围数字的分类