GERAR NUMERO ALEATORIO
Pessoal...
Sei gerar um número aleatório no espaço de 1 até [Ô]x[Ô] (Tipo: 1 até 10):
O que tá pegando é que preciso gerar um número aleatório entre 85 e 199...não pode ser maior que 199 nem menor que 85...
Tentei fazer assim e não deu certo:
Sei que é fácil, mas para mim tá foda !
Sei gerar um número aleatório no espaço de 1 até [Ô]x[Ô] (Tipo: 1 até 10):
Randomize
retNum = Int((10 * Rnd)) + 1
O que tá pegando é que preciso gerar um número aleatório entre 85 e 199...não pode ser maior que 199 nem menor que 85...
Tentei fazer assim e não deu certo:
Randomize
retNum = Int((199 * Rnd)) + 85
Sei que é fácil, mas para mim tá foda !
é simples o seu problema, vamos analisar
Int((10 * Rnd)) + 1 [ô] vai dar certo porque? porque (10 * Rnd) vai gerar um numero de 0 a 9 que somado a 1 vira de 1 a 10
vendo deste ponto chegamos a esta conclusão se você fizer (199 * Rnd) terá um numero entre 0 e 198 que somado a 85 poderá ser 85 a 283, o que gera seu erro, então o que devemos fazer para manter o interva-lo é simples veja
basta você primeiro retirar 85 de 199 e fazer o Rnd por este numero Int((199 - 85) * Rnd) + 85, em código seria assim
Int((10 * Rnd)) + 1 [ô] vai dar certo porque? porque (10 * Rnd) vai gerar um numero de 0 a 9 que somado a 1 vira de 1 a 10
vendo deste ponto chegamos a esta conclusão se você fizer (199 * Rnd) terá um numero entre 0 e 198 que somado a 85 poderá ser 85 a 283, o que gera seu erro, então o que devemos fazer para manter o interva-lo é simples veja
basta você primeiro retirar 85 de 199 e fazer o Rnd por este numero Int((199 - 85) * Rnd) + 85, em código seria assim
Dim retNum As Integer
Dim Inicial As Integer
Dim final As Integer
Inicial = 85
final = 199
Randomize
retNum= Int(((final - Inicial) * Rnd)) + Inicial
Tópico encerrado , respostas não são mais permitidas