Ver Mensaje Individual
  #12  
Antiguo 24-04-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
El metodo que yo explique era para barajar una supuesta baraja de cartas representada por un array. De forma que cada posicion del array corresponde al lugar que ocuparia dentro de la baraja, es decir, Baraja[1] nos diria cual es la primera carta, Baraja[2] la segunda, etc ... Aclaro esto porque creo que aunque para este fin el metodo es bastante eficiente, para otros fines, como puede ser ir sacando uno a uno numeros al azar sin saber previamente cuantos, el metodo de Turboleta puede se mas eficaz.

Aclarado esto, para poder visualizar el resultado solo tienes que recorrer el array elemento a elemento.

Código Delphi [-]
var
  Baraja: array[1..40] of Integer;
  i,j,k: Integer;
  s: string;
begin
  // Colocamos todas las cartas por orden
  for i:= 1 to 40 do
  begin
    Baraja[i]:= i;
  end;
  // Y ahora las barajamos
  Randomize;
  for i:= 1 to 40 do
  begin
    j:= Random(40)+1;
    k:= Baraja[i];
    Baraja[i]:= Baraja[j];
    Baraja[j]:= k;
  end;
  s:= IntToStr(Baraja[1]);
  for i:= 2 to 40 do
    s:= s + ',' + IntToStr(Baraja[i]);
  ShowMessage(s);
end;
Responder Con Cita