none
Como gerar números aleatórios sem repetição RRS feed

  • Pergunta

  • Bom dia,

    Gostaria de criar um programa que gere números aleatórios sem repetição. Achei vários códigos mas todos eles repetem o número. Teria algum jeito de ao gerar um número salvar ele num bloco de notas e ao pedir para gerar novamente, checar no bloco de notas para não ocorrer a repetição?

    Att

    terça-feira, 16 de julho de 2013 12:52

Todas as Respostas

  • Tem sim
    No caso o código que vc está utilizando iria salvar em um arquivo txt.
    Depois vc percorre esse arquivo txt, tente esse link

    http://www.macoratti.net/vbn_txt.htm

    Caso acha dúvida poste novamente aonde vc está com tal 
    terça-feira, 16 de julho de 2013 12:55
  • Public Function GetRandom(ByVal Min As Integer, ByVal Max As Integer) As Integer
        Dim Generator As System.Random = New System.Random()
        Return Generator.Next(Min, Max)
    End Function

    você pode usar um listView para alocar os números sorteados, no momento que você chamar a função que sorteia você verifica neste listView se existe este numero caso não tenha insira no list...

    caso tenha mais duvidas poste e te ajudarei se possível, abraços! 


    @ZigorPaim igorpaim.wordpress.com

    terça-feira, 16 de julho de 2013 13:52
  • Public Function SorteioNumerosAleatorios() As List(Of Integer)
       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(10000)
    
          '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
    
       Return lista
    
    End Function
    

    ou exemplificando de outra forma esta função retorna 5 números diferentes dentro de um intervalo de definido.
    acho que esse exemplo ira de clarear as ideias amigo!


    @ZigorPaim igorpaim.wordpress.com

    terça-feira, 16 de julho de 2013 13:59
  • Galera fazer gerar o código já consegui, mas como eu faço para ele salvar em algum lugar para não repetir?
    terça-feira, 16 de julho de 2013 14:09
  • Faça uma verificação ao inserir  o numero lendo o arquivo onde se encontra os outros numeros

    com um laço de repetição, se tem a necessidade de fazer em um .txt recomendo que escreva o 1 numero por linha para facilitar a leitura de verificação assim você vai poder verificar em seu laço a leitura da linha, se for igual ao valor que deseja inserir "next"


    @ZigorPaim igorpaim.wordpress.com

    terça-feira, 16 de julho de 2013 14:20
  • Faça uma verificação ao inserir  o numero lendo o arquivo onde se encontra os outros numeros

    com um laço de repetição, se tem a necessidade de fazer em um .txt recomendo que escreva o 1 numero por linha para facilitar a leitura de verificação assim você vai poder verificar em seu laço a leitura da linha, se for igual ao valor que deseja inserir "next"


    @ZigorPaim igorpaim.wordpress.com

    Mas eu não como fazer, não que código usar.
    terça-feira, 16 de julho de 2013 14:24
  • Ficaria um pouco extenso eu montar um exemplo de Escrita de arquivo leitura e busca de texto

    recomendo que leia este artigo onde vai ajudar você a escrever o Numero no arquivo de texto, e depois localizar ele http://www.macoratti.net/vbn_txt.htm

    s
    eguindo a sua lógica seria basicamente isso ;)

    Só para de lembrar no momento que você escreve em um arquivo de texto este arquivo vai se encontrar na maquina cliente caso utilize este mesmo algoritmo em rede você terá que fazer acesso a este arquivo em algum lugar isso vai te gerar um trabalho maior e levando em consideração a segurança de sua aplicação ira baixar pelo fato dos usuários terem acesso a edição deste arquivo, pense bem se será necessário fazer isso.
    caso contrario sugiro o exemplo do list que dei anteriormente...


    @ZigorPaim igorpaim.wordpress.com

    terça-feira, 16 de julho de 2013 14:33
  • Ficaria um pouco extenso eu montar um exemplo de Escrita de arquivo leitura e busca de texto

    recomendo que leia este artigo onde vai ajudar você a escrever o Numero no arquivo de texto, e depois localizar ele http://www.macoratti.net/vbn_txt.htm

    s
    eguindo a sua lógica seria basicamente isso ;)

    Só para de lembrar no momento que você escreve em um arquivo de texto este arquivo vai se encontrar na maquina cliente caso utilize este mesmo algoritmo em rede você terá que fazer acesso a este arquivo em algum lugar isso vai te gerar um trabalho maior e levando em consideração a segurança de sua aplicação ira baixar pelo fato dos usuários terem acesso a edição deste arquivo, pense bem se será necessário fazer isso.
    caso contrario sugiro o exemplo do list que dei anteriormente...


    @ZigorPaim igorpaim.wordpress.com


    Usando seu exemplo o código repete, e usando exemplo do site não da certo.
    terça-feira, 16 de julho de 2013 15:10
  • Parceiro, coloca como número inicial DateTime.Now.Ticks e seja feliz.
    segunda-feira, 6 de outubro de 2014 12:17
  • @ eduardo 

    teu problema e falta de conhecimento. tu so tens o basico e este exemplo e um pouco avancado. o que tens de fazer e comecar a dominar o basico e gradualmente progredir.

    Todas sugestoes estao certas. tens de gravar a informacao num texto ou numa tabela e sempre que voce gerar um novo numero tens de comparar primeiro se ja existe no texto ou na tabela, se exister o programa gera um novo numero.

    Isto e facil, mais pra alguem que e iniciante parece dificil de fazer. Se a gente fazer pra ti tu nunca vais aprender a programar. tens de ler a materia que te foi indicado, comeca a contruir o codigo, so quando voce tiver erros ou dividas posta aki, a gente vai ajudar.


    A flower cannot blossom without sunshine, and man cannot live without love.

    quinta-feira, 9 de outubro de 2014 20:45
    Moderador