std::istream_iteratorを使います。
c++
1#include <vector>
2#include <iostream>
3#include <iterator>
4
5int main()
6{
7 int n;
8 std::cin >> n;
9 std::vector<int> tmp1, tmp2;
10
11 std::istream_iterator<int> cintr = std::istream_iterator<int>(std::cin);
12 for (int i = 0; i < n; ++i)
13 {
14 tmp1.push_back(*cintr++);
15 tmp2.push_back(*cintr++);
16 }
17 for(auto i : tmp1){
18 std::cout << i << std::endl;
19 }
20}
追記
再度検証したところ、提示された問題ではresize
やコンストラクタで格納する場所だけ先に作った方が適切と推測されます。
c++
1#include <vector>
2#include <iostream>
3
4int main()
5{
6 int n;
7 std::cin >> n;
8 std::vector<int> tmp1(n), tmp2(n);
9
10 // tmp1.resize(n);
11 // tmp2.resize(n);
12 for (int i = 0; i < n; ++i)
13 {
14 std::cin >> tmp1[i];
15 std::cin >> tmp2[i];
16 }
17 for(auto i : tmp1){
18 std::cout << i << std::endl;
19 }
20}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/13 15:26
2018/11/13 15:52
2018/11/13 16:19
2018/11/13 16:21