Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

worm69

ajuda na meu programa do euromilhoes

Recommended Posts

worm69

Tenho isto....

Public Class Form1
    Dim r, n1, n2, n3, n4, n5, e1, e2 As Double
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub CloudButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloudButton1.Click
        Dim r As New Random
        Dim n1 As Integer = r.Next(1, 50)
        Dim n2 As Integer = r.Next(1, 50)
        Dim n3 As Integer = r.Next(1, 50)
        Dim n4 As Integer = r.Next(1, 50)
        Dim n5 As Integer = r.Next(1, 50)
        Dim e1 As Integer = r.Next(1, 11)
        Dim e2 As Integer = r.Next(1, 11)

        

        TextBox1.Text = n1
        TextBox2.Text = n2
        TextBox3.Text = n3
        TextBox4.Text = n4
        TextBox5.Text = n5
        TextBox6.Text = e1
        TextBox7.Text = e2

    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub

End Class

queria que os n1, n2, n3, n4, n5 nunca ficassem com os mesmos valores e para os e1 e e2 igual

:wallbash:

Share this post


Link to post
Share on other sites
Andrepereira9

Boas

1º Tas a declarar as variáveis como double, e depois  como integer

2º Experimenta por antes de gerares  os números isto:

Randomize


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
worm69

Public Class Form1
    Dim r, n1, n2, n3, n4, n5, e1, e2 As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub CloudButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloudButton1.Click
        Randomize()
        Dim r As New Random
        Dim n1 As Integer = r.Next(1, 50)
        Dim n2 As Integer = r.Next(1, 50)
        Dim n3 As Integer = r.Next(1, 50)
        Dim n4 As Integer = r.Next(1, 50)
        Dim n5 As Integer = r.Next(1, 50)
        Dim e1 As Integer = r.Next(1, 11)
        Dim e2 As Integer = r.Next(1, 11)


        TextBox1.Text = n1
        TextBox2.Text = n2
        TextBox3.Text = n3
        TextBox4.Text = n4
        TextBox5.Text = n5
        TextBox6.Text = e1
        TextBox7.Text = e2

    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub

End Class

continua a dar numeros iguais n´s diferentes continuam as vezes a dar numeros iguais  :(

estou a trabalhar em vb2008 enganei me onde colocar o topico

Share this post


Link to post
Share on other sites
minheiro

Boa noite,

O que te está a acontecer é que estás a limitar o a 50 o resultado do nº aleatório e "geras" 5 nºs (10%) a probablidade de se repetirem em series seguidas é muito alta.

Se fores muito sortudo ao fim de 10 repetições vais ter repetições uma vez que 5 * 10 = 50.

Melhores cumprimentos,

Share this post


Link to post
Share on other sites
minheiro

Encontrei isto em http://social.msdn.microsoft.com/Forums/pt-BR/vsvbasicpt/thread/9fb13a05-63a0-4162-a488-d584a3f131c9/

que penso que resolve o teu problema

       

Dim rnd As New Random
        Dim num As Integer
        Dim qtde As Integer = 0
        Dim lista As New List(Of Integer)

        While qtde < 5

            'Gera número aleatório entre 0 e 9999
            num = rnd.Next(50)

            'Verifica se o número sorteado existe na lista
            If Not lista.Contains(num) Then
                'Se não existir, adiciona na lista
                lista.Add(num)
                qtde += 1
            End If

        End While


        Dim n1 As Integer = lista(0)
        Dim n2 As Integer = lista(1)
        Dim n3 As Integer = lista(2)
        Dim n4 As Integer = lista(3)
        Dim n5 As Integer = lista(4)

Share this post


Link to post
Share on other sites
worm69

em vez de "Dim n1 As Integer = lista(0)" so tive de colocar

 Dim n1 As Integer = SorteioNumeros(0)
        Dim n2 As Integer = SorteioNumeros(1)
        Dim n3 As Integer = SorteioNumeros(2)
        Dim n4 As Integer = SorteioNumeros(3)
        Dim n5 As Integer = SorteioNumeros(4)

        Dim e1 As Integer = SorteioEstrelas(0)
        Dim e2 As Integer = SorteioEstrelas(1)

muito obrigado!!!!! :cheesygrin:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.