Je veux convertir cette équation "(rand() % (max-min)) + min;
" de C++ au TCL/TK à nous en ns2 ... J'espère que quelqu'un peut m'aider.Convertir cette équation pour aléatoire
mes meilleurs
Je veux convertir cette équation "(rand() % (max-min)) + min;
" de C++ au TCL/TK à nous en ns2 ... J'espère que quelqu'un peut m'aider.Convertir cette équation pour aléatoire
mes meilleurs
L'expression ne peut pas être traduit directement, comme rand()
rendements nombres à virgule flottante de Tcl (dans la gamme de 0,0 à 1,0) à la différence de rand()
C++, qui retourne un entier. Mais à peu près morale équivalente est la suivante:
expr { int(rand() * ($max - $min)) + $min }
Nous pouvons conclure cela dans une procédure peu pour le rendre encore plus facile à utiliser (il est juste comme écrire une fonction d'assistance en C++):
proc randInRange {min max} {
return [expr { int(rand() * ($max - $min)) + $min }]
}
# Example of calling it and using the result:
puts [randInRange 1 10]
Merci pour votre réponse Donal, Mais pourquoi nous ne pouvons pas utiliser (%), en raison de dans l'équation, il a utilisé le mode diviser (%) plutôt que la multiplication. – Qusay
Parce que 'rand()' de Tcl retournera un nombre à virgule flottante entre '0.0' et' 1.0', tandis que C 'rand()' retournera un entier. –
Ok ... Merci pour votre réponse et vos efforts. – Qusay