Ввод в массив через клавиатуру c++
Уважаемые программисты, возник такой вопрос: можно ли в c++ сделать ввод в массив численного типа(допустим int) заранее не сообщая компилятору сколько там будет элементов? Допустим ввожу я числа 12 423 111 2, потом делаю вывод массива и он мне выводит эти же числа? Как бы чтобы он сам понимал сколько там элементов сразу в момент ввода. Вроде как с векторами что-то такое можно делать или даже с обычным массивом с указателем.
Ответы (1 шт):
Автор решения: vlad9i2
→ Ссылка
Можно, например так, если вы нажмёте CTRL+D при завершении ввода:
int x;
std::vector<int> a;
while(std::cin >> x) {
a.push_back(x);
}
for(int i = 0; i < a.size(); ++i) {
std::cout << a[i] << " ";
}
std::cout << std::endl;
Если считать, что переносом строки заканчивается массив, то вот так:
int main()
{
int x;
std::vector<int> a;
std::stringstream ss;
std::string s;
std::getline(std::cin, s);
ss << s;
while(ss >> x) {
a.push_back(x);
}
for(int i = 0; i < a.size(); ++i) {
std::cout << a[i] << " ";
}
std::cout << std::endl;
}