Você está aqui: C# ::: Dicas & Truques ::: Matemática e Estatística |
Gerando n números aleatórios sem repetiçãoQuantidade de visualizações: 22897 vezes |
Em algumas situações precisamos gerar uma determinada quantidade de números aleatórios sem repetição. O trecho de código abaixo mostra como isso pode ser feito. Observe que o método criado permite definir a faixa de valores e a quantidade de números randômicos sem repetição que deverão ser retornados: static void Main(string[] args){ // não esqueça // using System.Collections; // queremos 6 números aleatórios sem repetição dentro // do conjunto 1..60 ArrayList aleatorios = numerosAleatorios(1, 60, 6); Console.Write("Os números gerados foram:\n\n"); for(int i = 0; i < aleatorios.Count; i++){ Console.Write("{0} ", aleatorios[i]); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } // método que gera n números aleatórios sem repetição static ArrayList numerosAleatorios(int inicio, int fim, int quant){ // cria um objeto da classe Random Random rnd = new Random(); // vamos preencher um ArrayList com a faixa de números ArrayList numeros = new ArrayList(); for(int i = inicio; i < fim; i++){ numeros.Add(i); } // vamos embaralhar o ArrayList for(int i = 0; i < numeros.Count; i++){ int a = rnd.Next(numeros.Count); object temp = numeros[i]; numeros[i] = numeros[a]; numeros[a] = temp; } // vamos obter as quantidade de // que queremos return numeros.GetRange(0, quant); } |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |