Fiz vários testes com nRANDOM(), RANDOM(), HB_RandomInt(), etc e todas elas NÃO FUNCIONARAM nas suas totalidades ou seja, todas deixaram de fornecer alguns números em uma de range 999999 e estou com muita dificuldade em encontrar uma solução para isso já que em se tratando de sorteios, nenhum número pode faltar ou se repetir.
Algum de vocês tem alguma rotina própria criada para esta função que eu consiga testar?
Obrigado
Funções "RANDOM" não funcionam!
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: Funções "RANDOM" não funcionam!
Your expectation is wrong.todas elas NÃO FUNCIONARAM nas suas totalidades
All the above functions do what they are expected to do.
We can not expect that random number generators generate "every" number in a series. Also they may generate duplicates.
It is for us (the programmer) to use the random function to get what we want.
For example, if we want a function to generate every number between 1 to 999 without repeating then we can try this approach.
Code: Select all
function RandomList
local aList := Array( 999 )
local nAt, aRandom := {}
AEval( aList, { |u,i| aList[ i ] := i } )
do while Len( aList ) > 0
nAt := HB_RandomInt( 1, Len( aList ) )
AAdd( aRandom, aList[ nAt ] )
ADel( aList, nAt, .t. )
enddo
XBROWSER aRandom SHOW RECID
return nil
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
-
- Posts: 14
- Joined: Wed Feb 04, 2009 9:38 pm
Re: Funções "RANDOM" não funcionam!
Obrigado!
irei testar.
irei testar.
-
- Posts: 14
- Joined: Wed Feb 04, 2009 9:38 pm
Re: Funções "RANDOM" não funcionam!
Para 999999 não funcionou infelizmente pois tem o uso e já testado HB_RandomInt()
-
- Posts: 14
- Joined: Wed Feb 04, 2009 9:38 pm
Re: Funções "RANDOM" não funcionam!
Fiz uma pequena mudança e funcionou!
Obrigado meu caro
Obrigado meu caro