#include <random>
#include <algorithm>
#include <functional>
#include <iostream>
int main()
{
// kiểu phần tử của mảng, nếu thích kiểu khác thì thay vào
typedef int T;
// khởi tạo random_device là đối tượng nguồn sinh ra các yếu tố ngẫu nhiên
std::random_device rd;
// random engine, dùng để sinh số ngẫu nhiên dựa vào các nguồn (seed) từ random_device
std::default_random_engine e1(rd());
// Các số ngẫu nhiên được sinh ra sẽ bị biến đổi để có phân phối đều trong đoạn [-10, 10]
// Nếu thích phân phối khác (như poission, bernoulli ...) thì thay vào
std::uniform_int_distribution<T> uniform_dist(-10, 10);
T v[10]; // Mảng 10 phần tử
std::generate_n(T, 10, std::bind(uniform_dist, e1)); // Sinh 10 số ngẫu nhiên
for (auto n
: v
) std
::cout << v
<< ' '; }