Routine aléatoire : comment éviter les doublons ?

cs_alaga Messages postés 17 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 28 octobre 2008 - 23 mars 2006 à 10:59
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 1 avril 2006 à 13:34
Bonjour,
j'utilise une routine aléatoire et je voudrais éviter les doublons (c'està dire que le même nombre sorte deux fois). Est ce que quelqu'un peut m'aider?????????
Merci
alaga
A voir également:

8 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
23 mars 2006 à 14:37
NDX := 0;
for j := 1 to 5 do
begin
cot := cot + 1;
Randomize;
TAB5[j] := RandomFrom(INFMOY);
if j = 5 then break;
// Mise à zéro de la valeur trouvée
for i := 0 to (ifm - 1) do
if INFMOY[i] = TAB5[j] then
INFMOY[i] := 0;
// suppression des zéros
for k := 0 to ((ifm - 1) - (j - 1)) do
if INFMOY[k] <> 0 then
begin
INFMOY[NDX] := INFMOY[k];
NDX := NDX + 1;
end;
// Dimensionnement à la sélection
SetLength(INFMOY, ((ifm - 1) - (j - 1)));
NDX := 0;
end
un ex pour 5 nombres


n'oublie pas les déclarations..J'avais déjà fait ça il y a un moment
ce n'est pas top mais ça marche..
0
cs_alaga Messages postés 17 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 28 octobre 2008
24 mars 2006 à 14:47
Merci je vais essayer.
alaga
0
cs_alaga Messages postés 17 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 28 octobre 2008
29 mars 2006 à 14:19
salut,
mon application n'accepte pas le RandomFrom.
je n'arrive pas à utiliser ce que tu m'as transmis.
help!!!
merci
alaga
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
29 mars 2006 à 22:39
il te manque un uses : Math

cantador
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_alaga Messages postés 17 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 28 octobre 2008
30 mars 2006 à 13:10
Je n'y arrive pas!!

voilà une partie de mon code :

procedure configuration;
var I, A :integer;
begin
If groupe = 1 then
begin
Randomize;
For I := 0 to 5 do begin
A:= StrToInt(Situationsdemineurs.ITEM1.Items[Random(I)]);
end;
end;

j'ai une liste (ITEM1) et je voudrait générer une pioche aléatoire dans cette liste sans jamais avoir de doublons.

pouvez vous m'aider ???????
MERCI!!!!!!!!!
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
31 mars 2006 à 17:40
c'est le uses qui ne marche pas ?
et quelle version de delphi utilises-tu ?

cantador
0
cs_alaga Messages postés 17 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 28 octobre 2008
1 avril 2006 à 12:12
j'utilise delphi6.
eh oui, le uses n'est pas accepté.
alaga
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
1 avril 2006 à 13:34
Salut,
Alaga tu dis : "le Uses n'est pas accepté"
ben ta un drole de Delphi toi

Ex.

Implementation
Uses Math;
{$R *.dfm}

Et la tu peux utiliser RandomFrom

@+
Cirec
0
Rejoignez-nous