Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/08/2008, 06:26
pekpon
 
Fecha de Ingreso: diciembre-2005
Ubicación: BCN
Mensajes: 165
Antigüedad: 19 años, 2 meses
Puntos: 2
Respuesta: Algoritmo de numeros aleatorios sin repetir el que ya ha salido

Hola a todos,

En primer lugar, aclarare por que tienen que ser numeros aleatorios. Todo esto lo necesito para un generador de horarios escolares vale? Enonces, pongo una lista de asignaturas, cada una con su ID, y cuando arroja un numero aleatorio, por ejemplo el 5, la asignatura con ID-5 se pone en el primer hueco, y asi succesivamente.

Alemanarg, lo que dices de la cadena es cierto y por eso quiero cambiar el sistema.
Mira aqui tienes un ejemplo del script:

Código PHP:
 for($i=1$i<=$as$i++) 
     {
      
$ale mt_rand(1,$mat);
      if( 
$ale == $mat )
      {
      
$mat $mat 1;
      }
      
$bus substr_count($ale_cad$ale);
      
          while ( 
$bus != || $h[$ale] == 0)
              {
              
$ale_cad $ale_cad.$ale;
              
$ale mt_rand(1,$mat);
              
              if( 
$ale == $mat )
                 {
                  
$mat $mat 1;
                  }
                 
               
$bus substr_count($ale_cad$ale);
              }
        
$mat $amat;
        
$ale_cad $ale_cad.$ale;
        
$h[$ale] = $h[$ale] - 1
Variables:

$mat - numero de materias totales que introducimos
$h[$] - id de la materia
$ale_cad - cadena que se va creando
$ale - aleatorio del 1 al $mat
$as - horas que tiene este dia

en fin ese es mi sistema.por ciero no se lo que son los vectores en php.

A ver si encontrmos otro para ir mas rapido y que no se cuelgue.

Muchas gracias!