Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <random>
- #include <iterator>
- #include <iostream>
- #include <vector>
- #include <queue>
- // A simple toolkit random
- std::default_random_engine & global_urng( )
- {
- static std::default_random_engine u{};
- return u;
- }
- void randomize( )
- {
- static std::random_device rd{};
- global_urng().seed( rd() );
- }
- int pick( int from, int thru )
- {
- static std::uniform_int_distribution<> d{};
- using parm_t = decltype(d)::param_type;
- return d( global_urng(), parm_t{from, thru} );
- }
- double pick( double from, double upto )
- {
- static std::uniform_real_distribution<> d{};
- using parm_t = decltype(d)::param_type;
- return d( global_urng(), parm_t{from, upto} );
- }
- // print container
- template <typename T> void print(T & v, const std::string &s = "")
- {
- if (s.size() >0) std::cout << s << ": \n";
- for (auto && x:v) std::cout << x << " ";
- puts("\n");
- }
- using namespace std;
- int main()
- {
- vector<int> vec(100);
- randomize();
- for (auto &x :vec) x = pick(1, 10);
- deque<int> deq{begin(vec),end(vec)};
- vector<int> vec_odd;
- vector<int> vec_even;
- for (const auto & x : vec)
- x % 2 ? vec_even.push_back(x) : vec_odd.push_back(x);
- print(vec, "vec");
- print(deq, "deq");
- print(vec_odd, "четные");
- print(vec_even, "нечетные");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement