Как записать в вектор значение из cin?
Если вы знаете тип T
и количество n
нужных значений:
std::copy_n(std::istream_iterator<T>(std::cin), n, std::back_inserter(vector));
Поскольку неизвестн вектор каких типов инициализируем, не известно количество элементов в нем, неизвестно количество и корректность вводимых данных, нужно написать код для общего случая:
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
template <typename Tp>
void fill_in(std::vector<Tp>& v, std::istream& in)
{
for (auto& el : v) {
in >> el;
if (!in) {
in.clear();
in.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
}
using Input = std::istream_iterator<Tp>;
auto back = std::back_inserter(v);
std::copy(Input(in), Input(), back);
}
int main() {
std::vector<int> v(3);
fill_in(v, std::cin);
//ипользуем вектор
return 0;
}
функция обрабатывает корректность ввода, но намерения могут быть разными, так что эта обработка может быть разной. А также может быть разным и способ заполнения вектора, относительно необходимости записи в конец или поверх данных. Так что ответ на ваш вопрос, по любому, не может быть однозначным.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Задание было, написать программу и распараллелить ее, само задание звучит так : Задана последовательность, состоящая только из символов >, < и -Требуется...
Задали сделать массив структур, в котором ведомости про поезда (по названиям переменных думаю всё понятно)Нужно чтобы программа выводила...
Задание было, написать программу и распараллелить ее, само задание звучит так : Циклическим сдвигом строки s называется строка sksk+1sk+2…s|s|s1s2…sk-1...