rand

Sintaxis

#include <stdlib.h>

int rand(void);

Descripción

Devuelve un número pseudo-aleatorio entre cero y RAND_MAX (definida en stdlib.h).

Por omisión, esta función siempre genera la misma secuencia de números cada vez que se ejecuta el programa. Si se necesita producir secuencias diferentes en cada ejecución, se debe invocar a srand antes de la primera llamada a rand, y se deben usar diferentes argumentos con srand. La técnica usual es utilizar como argumento de srand una llamada a la función time, cuyo valor devuelto cambia cada segundo.

Para obtener un número aleatorio en el rango 0..N, se debe usar rand()%(N+1).

Valor devuelto

Un entero entre cero y RAND_MAX.

Portabilidad

ANSI, POSIX

Ejemplo

El procedimiento inicializaVectorAleatorio inicializa un vector con valores aleatorios entre 0 y n.

#include <stdlib.h>
#include <time.h>
void inicializaVectorAleatorio(int *v, int n){
   int i=0;
   srand(time(0));
   for(;i<n;i++)
      v[i]=rand()%(n+1);
}