Cool C/C++

Programacion en C/C++

Home FAQ Generar números aleatorios sin que se repitan
Generar números aleatorios sin que se repitan PDF Imprimir E-mail
Escrito por adrianvaca   
Martes, 22 de Marzo de 2011 22:57

En realidad no hay forma de garantizar que los números generados aleatoriamente no se repitan, lo que puedes hacer es que cuando generas un número aleatorio, verificar que este no se haya generado antes, fíjate en el siguiente código:

srand(time(0)); // iniciando la semilla aleatoria

// Formula a + rand() % (b-a+1)

// eligiendo 15 numeros aleatorios distintos entre 1 y 50
for(i=0;i<15;i++)
{
    // Genera numero aleatorio
    int num = 1 + rand()%50;

   if(i>0)
   {
      // Verifica si no se ha generado antes   
      for(j=0; j < i; j++)     
          if(num==vector[j])
          {
             num = 1 + rand()%50;
             j=-1;                         
          }
    }

    vector [ i ] =num;
}
 
Otros artículos

Escribir un comentario


Código de seguridad
Refescar