Tal como dice el titulo, en el proyecto de loteria que tengo de tarea por nota final, pide la opcion de crear una serie de 14 numeros al azar que no se repitan, lo primero fue relativamente facil
Código C:
Ver originalprivate void button29_Click(object sender, EventArgs e)
{
Random r = new Random();
int tal = r.Next(1, 25);
int tal1 = r.Next(1, 25);
int tal2 = r.Next(1, 25);
int tal3 = r.Next(1, 25);
int tal4 = r.Next(1, 25);
int tal5 = r.Next(1, 25);
int tal6 = r.Next(1, 25);
int tal7 = r.Next(1, 25);
int tal8 = r.Next(1, 25);
int tal9 = r.Next(1, 25);
int tal10 = r.Next(1, 25);
int tal11 = r.Next(1, 25);
int tal12 = r.Next(1, 25);
int tal13 = r.Next(1, 25);
TxTNums.Text = TxTNums.Text + tal.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal1.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal2.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal3.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal4.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal5.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal6.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal7.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal8.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal9.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal10.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal11.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal12.ToString()+" ";
TxTNums.Text = TxTNums.Text + tal13.ToString();
}
Pero para evitar que se repitan, es otra historia.......
Investigando encontre el uso de arraylist
Código C:
Ver originalpublic ArrayList NumerosRandom(int max)
{
// Crea un ArrayList para almacenar los números
ArrayList lstNumeros = new ArrayList();
// Ésto va a generar los números
Random rnd = new Random();
// Generar un numero del 1 a su máximo
int number = rnd.Next(1,25);
// Añadir el primero numero a la lista
lstNumeros.Add(number);
// ´Settear´ el numero donde comenzará a contar (para verificar si existe un numero igual)
int count = 0;
do
{
// Generar un numero del 1 a su máximo
number = rnd.Next(1,25);
// Si el nuevo numero no está en la lista pues añádelo
if (!lstNumeros.Contains(number))
{
// Añádelo
lstNumeros.Add(number);
}
count++;
} while (count <= 10 * max);
// Una vez terminado de procesar la lista y añadir los números nuevos, enviarlos
return lstNumeros;
}
private void button29_Click(object sender, EventArgs e)
{
Numeros nmr = new Numeros();
const int Total = 25;
// Aquí va el número máximo 1-9999
ArrayList lstNumeros =nmr.NumerosRandom(Total);
for (int i = 0; i < lstNumeros.Count; i++)
{
TxTNums.Text = lstNumeros[i].ToString()+“ ” ;
}
En si el problem es: "Numeros nmr = new Numeros();" no se que funcion cumple, como no existe en el array y esta definido como clase lo encontre raro asi que lo saque el boton quedo asi
Código C:
Ver originalprivate void button29_Click(object sender, EventArgs e)
{
const int Total = 25;
// Aquí va el número máximo 1-9999
ArrayList lstNumeros = NumerosRandom(Total);
for (int i = 0; i < lstNumeros.Count; i++)
{
TxTNums.Text = lstNumeros[i].ToString()+“ ” ;
}
Y solo muestra un numero en el textbox, ojala no sea mucha molestia el preguntar como poder escribir 14 numeros aleatorios , en el rango de 1 a 25