FONCTION SORTIR UN ENTIER ALÉATOIRE COMPRIS ENTRE 2 ENTIERS

Signaler
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
-
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/11965-fonction-sortir-un-entier-aleatoire-compris-entre-2-entiers

Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
21
Houlala, c'est bien compliqué tout cela. Si on veut faire cette même fonction pour X<Y, il suffit juste d'écrire:

Randomize;
LeNombre:=Random(Y-X)+X;

Mais rien ne nous dit que Y sortira un jour. Dans tel cas il faudrait rajouter +1 dans la parenthèse.

Si on nous donne juste X et Y sans préciser si X<Y ou X>Y, alors il faut utiliser Min et Max. On obtient alors:

Randomize; //pas nécessaire si déjà appelé
LeNombre:=Random(Max(X,Y)-Min(X,Y))+Min(X,Y)

Même remarque avec le +1.

C'est déjà bien plus court...