Я предполагаю, что ваш вопрос "как правильно это сделать?"
Я бы сделал это так:
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main()
{
int n;
cin >> n;
vector<int> v;
int i = 0;
int value;
while (i++ < n && cin >> value)
{
v.push_back(value);
}
char const* sep = "";
for (auto item : v)
{
cout << sep << item;
sep = " ";
}
cout << endl;
}
Обратите внимание, что этот код предполагает, что входные данные правильно сформированы. Если вам нужно что-то более надежное в обработке, возможно, злонамеренного ввода, это потребует дополнительных усилий. Данный код, как дано, будет давать, пробовать и продолжать, что может или не может быть подходящим для ваших целей.