Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: 0xDani en 23 Febrero 2013, 21:50 PM

Título: [Aporte][C++11] Numeros aleatorios
Publicado por: 0xDani en 23 Febrero 2013, 21:50 PM
Bueno ya que C++11 es bastante nuevo dejo este ejemplo de generacion de numeros aleatorios:

Código (cpp) [Seleccionar]
#include <iostream>
#include <random>
#include <cstdlib>
#include <ctime>

int main(int argc, char **argv)
{
std::mt19937 rng;
std::srand(time(NULL));
uint32_t seed = std::rand();
rng.seed(seed);

uint32_t stats[10] = {0}, current;

std::cout << "*** Random number generation test ***" << std::endl;

std::uniform_int_distribution<uint32_t> uint_dist(0, 10);

for(size_t i=0; i<56000u; i++)
{
  current = uint_dist(rng);
  stats[current-1]++;
  std::cout << current << ' ' << std::endl;
}

std::cout << "*** Number of times for each number ***" << std::endl;

size_t i=1;
for(auto x : stats)
{
  std::cout << "$ " << i++ << '\t' << x << std::endl;
}

std::cout << "*** End of the test ***" << std::endl;

return 0;
}


Los resultados son bastante uniformes