fork(8) download
  1. #include <iostream>
  2. #include <random>
  3. #include <ctime>
  4. #include <algorithm>
  5. #include <cstdint>
  6. #include <vector>
  7. #include <memory>
  8.  
  9. const int N = 100;
  10. const int NSEEDS = 10;
  11.  
  12. typedef std::vector<std::unique_ptr<int>> Vui;
  13.  
  14. int main()
  15. {
  16. std::uint32_t seeds[NSEEDS];
  17. auto t = std::time(nullptr);
  18.  
  19. for (std::size_t i = 0; i < NSEEDS; i++)
  20. if (seeds[i] == 0)
  21. seeds[i] = t * (i + 3) ;
  22.  
  23. std::seed_seq seed_seq(seeds, seeds + NSEEDS);
  24. std::mt19937 twister(seed_seq);
  25. std::uniform_int_distribution<int> distribution(0, INT32_MAX);
  26.  
  27. Vui v;
  28.  
  29. for (int i = 0; i < N; i++)
  30. v.push_back(std::unique_ptr<int>(new int(distribution(twister))));
  31.  
  32. for (auto i = 0U; i < v.size(); i++)
  33. std::cout << *v[i].get() << ' ';
  34. std::cout << std::endl;
  35.  
  36. std::sort(std::begin(v), std::end(v), [](const std::unique_ptr<int>& u, const std::unique_ptr<int>& v) { return *u.get() < *v.get(); });
  37.  
  38. for (auto i = 0U; i < v.size(); i++)
  39. std::cout << *v[i].get() << ' ';
  40. std::cout << std::endl;
  41. }
  42.  
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
1915920208 1105636838 1938033102 269023815 493737144 1280822792 1885090872 538672863 117443568 1352740109 2106422120 1535861046 1567879431 1632605115 228914340 267182119 1696952871 338919166 961300329 1502936370 609596966 96732191 389115783 555748356 1557278910 254629424 339200564 2075078149 1454806823 1457913141 740833527 1551210047 426109549 1511217052 1758593384 2004949443 2093023159 1401916351 1491719553 914911445 1532452561 93975792 1306307470 473055000 327701437 980576606 624375755 2143181526 953602584 561306562 1670601768 896049403 1054676550 749823739 1218269311 1761120506 698924697 776756364 1756913433 1605869294 1036641771 916806338 2078773353 1353442491 1760518126 341982061 1718347192 2109231236 1413945826 1754686412 1156538808 1619777642 1098422436 82230309 700473099 1551527269 1165184734 1354805032 1349171240 425744015 600483933 2103545581 474421638 702236673 1982213412 1005704291 1553335349 1173149233 1722314105 1939494875 917548674 2005784612 1780940276 1220686359 489485693 21518163 1748781747 2026203987 1255278263 1805609541 
21518163 82230309 93975792 96732191 117443568 228914340 254629424 267182119 269023815 327701437 338919166 339200564 341982061 389115783 425744015 426109549 473055000 474421638 489485693 493737144 538672863 555748356 561306562 600483933 609596966 624375755 698924697 700473099 702236673 740833527 749823739 776756364 896049403 914911445 916806338 917548674 953602584 961300329 980576606 1005704291 1036641771 1054676550 1098422436 1105636838 1156538808 1165184734 1173149233 1218269311 1220686359 1255278263 1280822792 1306307470 1349171240 1352740109 1353442491 1354805032 1401916351 1413945826 1454806823 1457913141 1491719553 1502936370 1511217052 1532452561 1535861046 1551210047 1551527269 1553335349 1557278910 1567879431 1605869294 1619777642 1632605115 1670601768 1696952871 1718347192 1722314105 1748781747 1754686412 1756913433 1758593384 1760518126 1761120506 1780940276 1805609541 1885090872 1915920208 1938033102 1939494875 1982213412 2004949443 2005784612 2026203987 2075078149 2078773353 2093023159 2103545581 2106422120 2109231236 2143181526