Você está aqui: C# ::: Dicas & Truques ::: Matemática e Estatística |
Gerando n números aleatórios sem repetiçãoQuantidade de visualizações: 23035 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 |







