Ir para conteúdo

POWERED BY:

Arquivado

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

JoeFather

Obtendo 50 números que não saíram em 100!

Recommended Posts

Olá!

 

Fiz um programa em Visual Basic que tira aleatoriamente 50 números randômicos dos números 1 a 100, colocando cada um destes números gerados numa variável (var_n1 até var_n50).

Logicamente que então me sobraram 50 números que eu não estou usando.

 

Minha pergunta: Como posso programar uma rotina que pegue estes 50 números que não estou utilizando e jogue-os cada um em outras variáveis (var_n51 até var_n100)?

 

Pensei em fazer um IF mais ou menos como segue, mas os amigos perceberão que ele ficará gigantesco, por isto queria alguma outra forma de programar.

 

'Este If para verificar se um dos números entre 1 e 51 está dentro das primeiras 50 variáveis, jogando o valor para var_n51:If var_n1 <> 1 Or var_n2 <> 1  then 'até var_n50 <> 1	var_n51 = 1		Else		If var_n1 <> 2 Or var_n2 <> 2  then 'até var_n50 <> 2	var_n51 = 2		Else		'até If var_n1 <>51	End If	End If'Este If para verificar se um dos números entre 1 e 51 está dentro das primeiras 50 variáveis, jogando o valor para var_n52:If var_n1 <> 1 Or var_n2 <> 1 then 'até var_n50 <> 1	var_n52 = 1		Else		If var_n1 <> 2 Or var_n2 <> 2 then 'até var_n50 <> 2	var_n52 = 2		Else		'até If var_n1 <>51	End If	End If'E depois os demais If para colocar os valores até a variável var_n100.

Quem tem alguma outra idéia?

 

Um grande abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você nao faz isso com um vetorvar(1)var(2)::var(n)

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você nao faz isso com um vetorvar(1)var(2)::var(n)

Como? Eu nunca fiz programação com vetor, pelo que eu saiba! Será que poderia me dar um exemplo?Grato pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você nao faz isso com um vetor

 

var(1)

var(2)

:

:

var(n)

Como? Eu nunca fiz programação com vetor, pelo que eu saiba! Será que poderia me dar um exemplo?

 

Grato pela ajuda!

cria um vetor

na declaração o numero 100 representa a quantidade de posições que o vetor ira ter

Dim var(100) as integer

 

 

qndo você sortea o numero, poe cada um em sua correspondente posição

 

 

var(numero_sorteado)=numero_sorteado

o numero que você colocar dentro do '(' ')' é a posição do vetor

 

depois você verifica qual pos nao tem numero

for i=1 to 100

if(not(var(i)>0))then

msgBox i

end if

next

caso entre no IF, é por nao tem nada na pos do vetor, e vai mostra o numero q nao oi sorteado...

 

olha..

acho que é isso que você ta querendo, caso nao seja, posta aqui, que eu ou outra pessoa responde beleza?

 

 

 

abraços

 

fica com Deus!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cria um vetor

na declaração o numero 100 representa a quantidade de posições que o vetor ira ter

Dim var(100) as integer

 

 

qndo você sortea o numero, poe cada um em sua correspondente posição

 

 

var(numero_sorteado)=numero_sorteado

o numero que você colocar dentro do '(' ')' é a posição do vetor

 

depois você verifica qual pos nao tem numero

for i=1 to 100

if(not(var(i)>0))then

msgBox i

end if

next

caso entre no IF, é por nao tem nada na pos do vetor, e vai mostra o numero q nao oi sorteado...

 

olha..

acho que é isso que você ta querendo, caso nao seja, posta aqui, que eu ou outra pessoa responde beleza?

 

 

 

abraços

 

fica com Deus!

Vou fazer uns testes por aqui, mas já lhe digo: pra mim vetor realmente é novidade!

 

Muito grato por enquanto...

 

E fica também, sempre iluminado, com o Criador!

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguindo a logica do amigo acima, você pode montar um vetor de 100 posições da mesma forma que você acha os 1os. 50 numeros assim você teria 100 numeros em ordem aleatoria um em cada posição do vetor, dai quando fosse apresentar, seria só colocar as primeiras 50 posições como os numeros que foram sorteados e as demais (51 em diante) ficaria os que nào foram sorteados

 

exemplo

 

Dim a() As IntegerPrivate Sub cmd_click()For i = 1 To 100ReDim Preserve a(1 To i)'aki você deve por a sua rotina de sorteio, lembrando que pode usar um outro for para verificar se as outras posições são diferentesa(i) = iNextfor i = 1 to 50text1.text = text1.text & a(i) 'aki para apresentar os primeiros 50 numeros sorteadosnextfor i = 51 to 100text1.text = text1.text & a(i) 'aki para apresentar os numeros que não estào entre os primeiros 50next

espero ter ajudado. flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço aos dois amigos e já fiz uns testes rápidos e sei que dá para fazer o que preciso!Vou montar tudo e depois posto colocando como ficou!Um grande abraço!

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.