限制矢量中的元素数量
Limiting number of elements in vector
本文关键字:元素 更新时间:2023-10-16
试图
限制用户在手动将数组输入 1 时可以插入向量的输入量,但由于某种原因,这很奇怪。
#include <iostream>
using namespace std;
void fillVector(vector<int>& newThisIsAVector)
{
cout << "Please type in your 10 numbers separated by a space. On completion press enter.";
int input;
cin >> input;
while (newThisIsAVector.size() < 10)
{
newThisIsAVector.push_back(input);
cin >> input;
}
cout << endl;
}
它应该将您限制在 10,但相反,它需要 10,然后当您按 Enter 时它会创建一个新行。然后您键入第 11 个数字并再次按回车键。然后脚本工作并注册前 10 个数字并很好地执行其他命令,但使用前 10 个数字并完全忽略不需要的第 11 个数字。 ;/
我该如何解决?
您可以在循环之前使用一次cin
,在重复 10 次的循环中使用一次。 1 + 10 等于 11,因此要求输入 11 次。要将输入数限制为 10,您需要将调用限制为 cin
10。
因为当您记录键入第 10 个元素时,向量仍然有 9 个元素。因此,在下一个循环中,您将在向量中添加第 10 个并请求第 11 个。
如果您知道输入将是 10 个元素,为什么不使用 C++11 std::array ?
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 我想访问std::unique_ptr中的一个特定元素
- 如何通过 getter 函数删除矢量的元素?
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 从控制台中删除最后打印的元素
- 擦除while循环中迭代的元素