Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
10 1 2 4 1 2 5 2 12 51
#include<iostream> #include<algorithm> #include<iterator> #include<vector> #include<optional> #include<fstream> using namespace std; template <typename T> auto getNumbers = [](istream& is) -> pair<T, vector<T>> { int count = 0; is >> count; vector<T> nums; copy(istream_iterator<T>{is}, {}, back_inserter(nums)); return {count, nums}; }; template <typename T> auto getNumsFromFile = [](string const& filename) -> optional<pair<T, vector<T>>> { if(ifstream fs(filename); fs){ return getNumbers<T>(fs); } else { return nullopt; } }; template <typename T> auto process = [](optional<pair<T, vector<T>>> const& vals) -> int { if(vals){ auto [count, numbers] = vals.value(); copy(numbers.begin(), numbers.end(), ostream_iterator<int>(std::cout, " ")); } else { cout << "Что-то пошло не так"; } return 0; }; int main() { return process<int>(getNumsFromFile<int>("filename.txt")); }
std::stringstream