Potresti utilizzare un array popolato con numeri distinti , per es un array di nome Ar con indici da 1 a 999, e
procedere estraendo casualmente gli indici come segue;
- alla prima estrazione consideri il range di indici da 1 a 999 e supponiamo esca il 10;
Ar(10) è il primo numero estratto che scambi di posto con Ar(999)
- alla seconda estrazione consideri il range di indici da 1 a 998 (così sei sicuro di escludere quello già estratto)
e supponiamo esca ancora il 10;
Ar(10) è il secondo numero estratto che scambi di posto con Ar(998)
... e così via fino alla fine .
Al termine avrai in Ar i numeri causali e distinti con il primo estratto all'ultimo indice, il secondo estratto al penultimo etc...
HTH
HTH

Rispondi quotando