Ver Mensaje Individual
  #7  
Antiguo 23-04-2006
Turboleta Turboleta is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 26
Reputación: 0
Turboleta Va por buen camino
Números aleatorios sin repetición

Tambien se puede podría hacer otra cosa.
1º declarar un array para contener lo números que van saliendo, sin repetir.
2º declarar una variable de tipo conjunto para poder controlar si y han salido antriormente.Poco más o menos así:

Código Delphi [-]
var NumOk: array [1..20] of integer;
     YaUtiliados: set of Byte; // de 0..255
     n, num: integer;
begin
    YaUtilizados:= [] // conjunto vacío; no hay números
    randomize;
    for n:= 1 to 20 do
       begin
          Repeat
             num:= random(20) + 1;
          Until not (num in YaUtilizados);// se comprueba si el número ya existe en el conjunto
               
          NumOk[n]:= num; // Si el núnero no ha sido utilizado anteriormente, se guarda en el array
          YaUtilizados:= YaUtilizados + [num]  // y a la vez se añade al conjunto
      end;

Bueno, es posible que haya alguna incorrección, pero básicamente esta es la idea. Así no tendrías ningún número repetido.

Espero te sirva la idea.
Responder Con Cita