假设,我想在向量中添加所有元素,并想将结果打印出来。我要输入的元素数量不是固定的。
让输入为:
3
5 2 8 5
34 64 23 10 8 12 5 4
95 22 1 3 531 5 13 1 3 1
她的第一行是测试用例//即。 3
另外三行是用户输入
答案 0 :(得分:0)
如果要为向量保留一些空间,可以看看std::vector::reserve函数。
您可以创建2D矢量:
#include <iostream>
#include <vector>
#include <sstream>
using namespace std;
int main() {
int size;
cin >> size;
vector<vector<int> > vec;
vec.resize(size);
for (int i = 0; i <= size; i++) {
vector<int> input;
int number;
string line;
getline(cin, line);
stringstream ss(line);
while (ss >> number) input.push_back(number);
vec.push_back(input);
}
for (auto i: vec)
for (auto j: i)
cout << j << endl;
return 0;
}
答案 1 :(得分:0)
string line;
int n;
vector<int> v;
getline(cin, line);
istringstream stream(line);
while (stream >> n )
v.push_back(n);
for(auto i=v.begin();i!=v.end();i++){
cout << *i << " ";
}