Ir ao conteúdo

Lógica Para Números Aleatórios


importado

Posts recomendados

Postado

E aí galera, preciso de uma lógica para gerar números aleatórios dentro de um limite (tipo de 1 a 10).... como se fosse um sorteio da loto... sem números repetidos...

Se possível me ajudem por favor, estou precisando urgente....

Grato.

  • Membro VIP
Postado
Postado Originalmente por importado@02 mar 2004, 21:44

E aí galera, preciso de uma lógica para gerar números aleatórios dentro de um limite (tipo de 1 a 10).... como se fosse um sorteio da loto... sem números repetidos...

Se possível me ajudem por favor, estou precisando urgente....

Grato.

Depende, qual o nível que você quer de aleatoriedade?

O Delphi você tem a função Random que é pseudo-randômica. Existem algoritmos mais elaborados, com funções melhores. Uma fonte de pesquisas caso você precise é o Numerical Recipes.

Mas não entendi bem o que você quer. você quer sortear os números entre 1 e 10 em ordem aleatória?

você não pode evitar que eles se repitam no sorteio. você irá precisar olhar se aquele número já foi sorteado. Se já foi, sorteia outro, se não foi use ele.

Postado

sim, é uma pesquisa aleatória entre um limite de de números quaisquer e sem repetição.... como se fosse sorteados entre 1 a 10: 5,8,7,2,6,3,1,4,10,9...

Mais ou menos isto e estou precisando de um algoritmo para que eu faça este sorteio.... ou até mesmo uma fórmula matemática...

"você quer sortear os números entre 1 e 10 em ordem aleatória?

você não pode evitar que eles se repitam no sorteio. você irá precisar olhar se aquele número já foi sorteado. Se já foi, sorteia outro, se não foi use ele. "

é bem isto que eu quero....

por favor me ajudem estou precisando urgentemente de um logaritmo pois não tenho nenhum pseudo-função de randomização...

grato...

Postado

cara você pode fazer o seguinte, guarde os numeros sorteados em um vetor (pode ser de 10 posições já que sao 10 numeros a serem sorteados), e a cada sorteio você varre o vetor para ver se esse numero já não foi sorteado...

caso queira eu posso fazer a rotina em alguma linguagem de programaçao...

vb, pascal, etc...

T+

Postado

Olha só sobro um tempinho aqui, e como não perco uma oportunidade de da uma programadinha eu fiz a rotina aqui pro sorteio dos seus 10 numeros... em VB..


Const tamanho = 10
Dim vet(tamanho) As Byte

Private Sub Command1_Click()

Randomize
Dim j, i, num As Byte
Dim sim As Boolean
sim = True
j = 1

While j <> tamanho + 1

   num = Int(Rnd * tamanho) + 1
   
   For i = 1 To tamanho
       If num = vet(i) Then
           sim = True
           Exit For
       Else
           sim = False
       End If
   Next i
   
   If sim = False Then
       vet(j) = num
       List1.AddItem vet(j)
       j = j + 1
   End If
   
Wend

End Sub

não deem bola pros nomes de variaveis porque eu nunca foi bom com isso heheh! ^_^

para alterar o tamanho do esquema de sorteio é só alterar a constante tamanho! ;)

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!