none
Números aleatórios sem repetição RRS feed

  • Pergunta

  • Bom dia!

    Preciso gerar 50 números aleatórios e sem repetição, entre 0 e 99. Veja:

    Random randNum = new Random();
                int[] nums2 = new int[50];

                for (int k = 0; k < 50; k++)
                {
                    nums2[k] = randNum.Next(100);
                }

     

    O código acima só gera repetidos.

    Alguém poderia me dizer a maneira mais eficiente de fazer isso com base no código acima?

    terça-feira, 7 de março de 2017 14:21

Respostas

  • Deste jeito:

    Random randNum = new Random();
    int[] nums2 = new int[50];
    
    for (int k = 0; k < 50; k++)
    {
        int rnd=0;
        do
        {
            rnd = randNum.Next(100);
        } while (nums2.Contains(rnd));
        nums2[k] =rnd;
    
    }

    att


    William John Adam Trindade
    Analyste-programmeur


    Sogi Informatique ltée
    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".




    terça-feira, 7 de março de 2017 14:41
    Moderador

Todas as Respostas

  • Deste jeito:

    Random randNum = new Random();
    int[] nums2 = new int[50];
    
    for (int k = 0; k < 50; k++)
    {
        int rnd=0;
        do
        {
            rnd = randNum.Next(100);
        } while (nums2.Contains(rnd));
        nums2[k] =rnd;
    
    }

    att


    William John Adam Trindade
    Analyste-programmeur


    Sogi Informatique ltée
    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".




    terça-feira, 7 de março de 2017 14:41
    Moderador
  • Perfeito! Muito obrigado, William!
    terça-feira, 7 de março de 2017 14:51