我声明了一个向量并尝试输入大小和值并打印它
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int s;
cin>>s; //taking size of vector
vector <int> arr(s);
int input;
while (cin >> input)
{arr.push_back(input);} //inserting the values in array
for(int i=0;i<s;i++)
cout<<" "<<arr[i]; //printing the values
}
我的意见
5
1 2 3 4 5
预期产出
1 2 3 4 5
电流输出
0 0 0 0 0
这行:
vector <int> arr(s);
makes arr
有尺寸s
。它将有s
已默认初始化为 0 的元素。然后你正在做push_back
在此向量上,添加额外的将元素放入向量中。
当你打印出第一张时s
元素,您没有看到从中读取的值cin
,但是s
声明中创建的初始值的数量arr
.
要解决此问题,请在声明时不给出尺寸arr
,或者只使用arr[i] = input;
代替push_back()
在循环。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)