Generar números aleatorios en C++

C++ cuenta con funciones para le generación de números pseudo-aleatorios, podemos hacer uso de varias funciones combinadas para proporcionar mayor aleatoriedad al algoritmo implementado por la función rand en C++.

Uso de rand para generar números aleatorios


La función rand devuelve un número pseudo-aleatorio comprendido entre los valores 0 y MAX_RAND que normalmente tiene el valor 32767, esta función debemos usarla junto con la función srand la cual establece un punto de partida para la generación de los números pseudo-aleatorios.

Para tratar de que nuestros números sean lo mas aleatorio posibles llamamos primero a la función srand y le pasamos el valor que nos devuelva time, el tiempo transcurrido en milisegundos, incluimos el encabezado ctime.

Si deseamos obtener un número aleatorio que este dentro de un rango de valores lo hacemos de este modo, donde 5 es el valor inicial y 10 la cantidad de valores después del valor inicial, es decir obtendremos números entre 5 y 15.

5 + rand() % 10

Ejemplo de la función rand en C++

#include <tchar.h>
#include <iostream>
#include <iomanip>
#include <ctime>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
 cout << "max " << RAND_MAX << endl;

 srand(time(0));

 for (int i = 0; i < 20; i++)
 {
  cout << setw(10) << "prueba" << setw(10) << (5 + rand() % 10) << endl;
 }

 cin.ignore();

 return 0;
}

Comentarios

Entradas populares de este blog

Conectar SQL Server con Java

Entrenar OpenCV en Detección de Objetos

Procesamiento de imágenes en OpenCV

Acceso a la webcam con OpenCV

Conociendo la clase cv::Mat de OpenCV