Cita:
kwan comentó:
Bueno he probado el codigo del link que puse pero he obsevado que siempre me da el mismo orden de números
|
Ha de ser porque falta usar Randomize. De cualquier forma aquí te pongo una función que te regresa un arreglo de números ordenados aleatoriamente:
Código:
type
TNumeros = array of Integer;
function Aleatorio(Cantidad: Integer): TNumeros;
var
Bits: TBits;
Numero: Integer;
Indice: Integer;
begin
Bits := TBits.Create;
Bits.Size := Cantidad;
SetLength(Result, Cantidad);
Randomize;
Indice := 0;
repeat
Numero := Random(Cantidad);
if not Bits[Numero] then
begin
Bits[Numero] := true;
Result[Indice] := Numero + 1;
Inc(Indice);
end;
until Indice = Cantidad;
end;
TBits es un arreglo de booleans que nos permite saber qué números ya han sido seleccionados. El arreglo te da´los números de 1 a Cantidad.
// Saludos