FONCTION SORTIR UN ENTIER ALÉATOIRE COMPRIS ENTRE 2 ENTIERS

cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 - 31 oct. 2004 à 15:58
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 - 31 oct. 2004 à 15:58
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

cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
31 oct. 2004 à 15:58
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...
Rejoignez-nous