fork download
  1. #include <iostream>
  2. #include <random>
  3. #include <algorithm>
  4. #include <array>
  5. #include <iterator>
  6.  
  7. template <typename TContainer>
  8. void generate(TContainer& container) {
  9. const int MIN = 10;
  10. const int MAX = 50;
  11.  
  12. std::minstd_rand engine;
  13. std::uniform_int_distribution<int> dist(MIN, MAX);
  14. std::generate(container.begin(), container.end(), [&]() { return dist(engine); });
  15. }
  16.  
  17. int main() {
  18. const int SIZE = 16;
  19. std::array<int, SIZE> numbers;
  20.  
  21. generate(numbers);
  22.  
  23. std::copy(numbers.begin(), numbers.end(), std::ostream_iterator<int>(std::cout, " "));
  24. std::cout << "\n";
  25.  
  26. std::reverse(numbers.begin(), numbers.begin() + SIZE / 2);
  27. std::reverse(numbers.begin() + SIZE / 2, numbers.end());
  28.  
  29. std::copy(numbers.begin(), numbers.end(), std::ostream_iterator<int>(std::cout, " "));
  30. std::cout << "\n";
  31. }
Success #stdin #stdout 0s 2896KB
stdin
Standard input is empty
stdout
10 13 34 46 49 17 31 26 20 40 13 32 33 43 34 30 
26 31 17 49 46 34 13 10 30 34 43 33 32 13 40 20