Soyez le premier à donner votre avis sur cette source.
Snippet vu 3 275 fois - Téléchargée 32 fois
function Aleatoire(Num1,Num2:integer):integer; var Num3:integer; Diff:integer; begin //Num1 doit être plus petit que Num2 if Num1>Num2 then begin Num3:=Num2;Num2:=Num1;Num1:=Num3; end; //si c < 0 alors il faut decaler pour ke se soit > Diff:=0; if Num1<0 then Diff:=abs(Num1); if Num2<0 then Diff:=Diff + abs(Num2); Num1 := Num1+Diff; Num2 := Num2+Diff; Result := Random(Num2-Num1+1)+Num1; Result := Result - Diff; end;
31 oct. 2004 à 15:58
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...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.