Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/08/2009, 10:13
Avatar de neandertal
neandertal
 
Fecha de Ingreso: enero-2008
Ubicación: Barcelona
Mensajes: 79
Antigüedad: 17 años
Puntos: 1
Pregunta no se generan bien numeros aleatorios

Hola a todos,

He hecho una función en C que desordena elementos del array intercanbiando valores en posiciones aleatorias, para ello.

Código:
void desordena_baraja(int *puntero){

    int i,temp,random,random2;
    srand(time(NULL));

    //Se desordena el array
    for (i=0; i<200; i++){
        random=rand() % 52 + 1;
        random2=rand() % 52 + 1;
        temp = puntero[random];
        puntero[random] = puntero[random2];
        puntero[random2] = temp;
    }
}
El puntero apunta a un array de longitud 52 que contiene valores ordenados del 0 al 51.

El problema que tengo es que tras pasar esta función en algunas ocasiones me aparece en el array un valor 2009091650 que no deberia estar ahi, y aparece por alguna razón, ya que he comprobado los valores del array antes de llamar a la función y son correctos.