Задать вопрос
@badproger12years

Как реализовать ввод данных через пробел в C++?

Как считать значения через пробел в вектор в C++.
в первой строке даётся число равное количеству символов сколько будет считано, а во второй строке эти сами числа.
Пример ввода:
5
1 2 3 4 5
Как реализовать такой ввод на C++, чтобы эти числа попадали в вектор?
  • Вопрос задан
  • 9786 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 2
myjcom
@myjcom Куратор тега C++
Ребят, я нашёл самое элегантное решение этой задачи

vector<int> v(n);
copy_n(istream_iterator<int>(cin), n, v.begin());
copy_n(v.begin(), n, ostream_iterator<int>(cout, " "));


generate_n(v.begin(), n, []{int x = 0; cin >> x; return x;});
Ответ написан
Комментировать
@badproger12years Автор вопроса
Ребят, я нашёл элегантное решение этой задачи
#include <iostream>
#include <vector>
using namespace std;


int main() {
    int n;
    cin >> n;
    vector<int> v(n);
    for (auto& it : v)
        cin >> it;
    for(auto& i:v)
    {
        cout<<i;
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Zoominger
@Zoominger
System Integrator
Реализуйте свой split().
Берёте строку и в цикле от первого и последнего символа проверяете, является ли символ пробелом. Если нет - добавляете этот символ во временную строку. Если да, то добавляете эту строку в динамический массив строк, а временную строку очищаете. В конце возвращаете динамический массив. Fini.
Или вообще на Qt переходите.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы