Ir para conteúdo

POWERED BY:

Arquivado

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

Armanrulla

sorteio em asp

Recommended Posts

Olá pessoal como vão ??Galera tenho a seguinte duvida tenho que fazer uma "loteria" que o bilhete tem 100 numeros e só 10 serão sorteados alguem manja como faço isto no ASP ?[]`sArmando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigão,

 

Código recém saído do forno.

 

Function Sorteia(numTotal, numSort)  Dim numNumero, bolSorteado  ReDim vetSorteados(numSort - 1)  Randomize()  For x = 0 to numSort - 1  	numNumero = CInt(Rnd() * numTotal - 1) + 1  	bolSorteado = False  	For y = 0 to x    If vetSorteados(y) = numNumero Then bolSorteado = True  	Next  	If bolSorteado = True Then    x = x - 1  	Else    vetSorteados(x) = numNumero  	End If  Next  Sorteia = Join(vetSorteados, " - ")	End Function

Para você chamar essa função utilize

 

Response.write Sorteia(100, 10)

Onde o primeiro parâmetro é o total de números que você tem, e o segundo é a quantidade que serão sorteados.

 

Com essa função você consegue sortear números de 1 a 100, caso você queira sortear de 0 a 99 só uma uma coisinha.

 

Function Sorteia(numTotal, numSort)  Dim numNumero, bolSorteado  ReDim vetSorteados(numSort - 1)  Randomize()  For x = 0 to numSort - 1  	numNumero = CInt(Rnd() * numTotal - 1)  	bolSorteado = False  	For y = 0 to x    If vetSorteados(y) = numNumero Then bolSorteado = True  	Next  	If bolSorteado = True Then    x = x - 1  	Else    vetSorteados(x) = numNumero  	End If  Next  Sorteia = Join(vetSorteados, " - ")	End Function

Ou ainda se quiser sortear de 0 a 100

 

Function Sorteia(numTotal, numSort)  Dim numNumero, bolSorteado  ReDim vetSorteados(numSort - 1)  Randomize()  For x = 0 to numSort - 1  	numNumero = CInt(Rnd() * numTotal)  	bolSorteado = False  	For y = 0 to x    If vetSorteados(y) = numNumero Then bolSorteado = True  	Next  	If bolSorteado = True Then    x = x - 1  	Else    vetSorteados(x) = numNumero  	End If  Next  Sorteia = Join(vetSorteados, " - ")	End Function

Se você acertar a loteria com essa função, não esquece de nos avisar. Hehehehe...

 

Abraços,

 

[]'s

 

B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não chamo isso de Ignorância, já que jamais saberemos tudo sobre Programação, muito menos sobre as Sintaxes.

 

ReDim é uma forma de Declaração, usado para Redimensionar Arrays, se você utilizar o Dim, você terá que informar o valor do array, com o ReDim você pode utilizar o valor inteiro que vêm de uma variável.

 

Join é o contrário de Split, ou seja, ele junta todos os valores de um arrey em uma única String, separada pelo parâmetro delimitador, que neste caso usei o " - ".

 

E aproveitando, dei um tapinha no código, e agora ele ordena os valores, caso seja útil.

 

Function Sorteia(numTotal, numSort)  Dim numNumero, bolSorteado, OrdemTemp  ReDim vetSorteados(numSort - 1)  Randomize()  For x = 0 to numSort - 1 	 numNumero = CInt(Rnd() * numTotal - 1) + 1 	 bolSorteado = False 	 For y = 0 to x    If vetSorteados(y) = numNumero Then bolSorteado = True 	 Next 	 If bolSorteado = True Then    x = x - 1 	 Else    vetSorteados(x) = numNumero 	 End If  Next  For x = 0 to (numSort - 1) 	 For y = (x + 1) to numSort - 1    If vetSorteados(x) > vetSorteados(y) Then   	 OrdemTemp = vetSorteados(x)   	 vetSorteados(x) = vetSorteados(y)   	 vetSorteados(y) = OrdemTemp    End If 	 Next  Next  Sorteia = Join(vetSorteados, " - ")	End Function
Abraços,

 

[]'s

 

B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.