【发布时间】:2017-12-13 20:41:00
【问题描述】:
我正在尝试使用向量和 for range 循环显示动态数组输入的值,但是当它打印时显示的是 0,然后是输入的值。
请不要介意 if 语句,因为我将其注释掉以在测试时使用较小的样本量。但是,如果我输入大小说它的 3,那么输入值,例如 1,2,3,输出将是 0 0 0 1 2 3。我正在尝试删除前三个 0。
int main()
{
std::cout << "How many numerical values do you wish to enter: ";
int values, index, collect;
std::cin >> values;
std::vector<int> numbers(values);
//if(values == 31)
//{
for (index = 0; index < values; index++)
{
std::cout << "Enter value[" << (index + 1) << "]: ";
std::cin >> collect;
numbers.push_back(collect);
}
for (auto &showNumbers : numbers)
{
std::cout << showNumbers << " ";
}
//}
return 0;
}
【问题讨论】:
-
使用 std::vector
数字;当您添加(值)时,您会创建一个零向量
标签: c++ arrays loops c++11 vector