Ver Mensaje Individual
  #4  
Antiguo 04-06-2010
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Reputación: 17
Lord Delfos Va por buen camino
Otra forma de hacerlo es generar los números primero, ordenados, y después desordenarnos con random mezclando los índices.

Código Delphi [-]
var Numeros: array of Integer;
     Ind1, Ind2, Cuenta: Integer;
     Aux: Integer;

begin
  // Genero los números
  SetLength(Numeros, 101);
  for Cuenta:= 0 to 100 do Numeros[Cuenta]:= Cuenta;

  // Y los mezclo
  Randomize;
  for Cuenta:= 0 to 101 * 3 do
    begin
    Ind1:= Random(101);
    Ind2:= Random(101);
    Aux:= Numeros[Ind1];
    Numeros[Ind1]:= Numeros[Ind2];
    Numeros[Ind2]:= Aux;
    end;
end;

Queda desprolijo, pero... No hay mucho que hacerle. El problema de le veo a lo te dijo Caro y delphi.com.ar es que el último número o los últimos van a tener muchos iteraciones antes de que salga justo el que uno no tiene... Está bien, mi idea también tiene un ciclo del triple del tamaño del arreglo, así que...

Qué sé yo.

Saludongos.
Responder Con Cita