#include <iostream>
#include <chrono>
#include <random>
#include <array>
#include <algorithm>
void mostrar(const std::array<unsigned, 100>& a)
{
for (const auto& i : a) {
std::cout << i << ' ';
}
std::cout << '\n';
}
int main()
{
// inicializa un generador "mersene twister"
std::uniform_int_distribution<int> dist;
std::random_device rd;
auto seed = dist(rd);
std::mt19937 generator(seed);
// un array de 100 elementos
std::array<unsigned, 100> a;
// llena el array con 100 números tomados "al azar"
for (auto& i : a)
i = generator();
std::cout << "array original:\n";
mostrar(a);
std::cout << '\n';
std::cout << "en orden ascendente:\n";
std::sort(std::begin(a), std::end(a));
mostrar(a);
std::cout << '\n';
std::cout << "en orden descendente:\n";
std::reverse(std::begin(a), std::end(a));
mostrar(a);
std::cout << '\n';
return 0;
}