Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/06/2016, 11:50
jmfmagnum
 
Fecha de Ingreso: julio-2014
Mensajes: 116
Antigüedad: 10 años, 4 meses
Puntos: 1
Serie de numeros aleatorios en un TextBox

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 original
  1. private void button29_Click(object sender, EventArgs e)
  2.         {
  3.             Random r = new Random();
  4.             int tal = r.Next(1, 25);
  5.             int tal1 = r.Next(1, 25);
  6.             int tal2 = r.Next(1, 25);
  7.             int tal3 = r.Next(1, 25);
  8.             int tal4 = r.Next(1, 25);
  9.             int tal5 = r.Next(1, 25);
  10.             int tal6 = r.Next(1, 25);
  11.             int tal7 = r.Next(1, 25);
  12.             int tal8 = r.Next(1, 25);
  13.             int tal9 = r.Next(1, 25);
  14.             int tal10 = r.Next(1, 25);
  15.             int tal11 = r.Next(1, 25);
  16.             int tal12 = r.Next(1, 25);
  17.             int tal13 = r.Next(1, 25);
  18.            TxTNums.Text = TxTNums.Text + tal.ToString()+" ";
  19.            TxTNums.Text = TxTNums.Text + tal1.ToString()+" ";
  20.            TxTNums.Text = TxTNums.Text + tal2.ToString()+" ";
  21.            TxTNums.Text = TxTNums.Text + tal3.ToString()+" ";
  22.            TxTNums.Text = TxTNums.Text + tal4.ToString()+" ";
  23.            TxTNums.Text = TxTNums.Text + tal5.ToString()+" ";
  24.            TxTNums.Text = TxTNums.Text + tal6.ToString()+" ";
  25.            TxTNums.Text = TxTNums.Text + tal7.ToString()+" ";
  26.            TxTNums.Text = TxTNums.Text + tal8.ToString()+" ";
  27.            TxTNums.Text = TxTNums.Text + tal9.ToString()+" ";
  28.            TxTNums.Text = TxTNums.Text + tal10.ToString()+" ";
  29.            TxTNums.Text = TxTNums.Text + tal11.ToString()+" ";
  30.            TxTNums.Text = TxTNums.Text + tal12.ToString()+" ";
  31.            TxTNums.Text = TxTNums.Text + tal13.ToString();
  32.         }

Pero para evitar que se repitan, es otra historia.......

Investigando encontre el uso de arraylist

Código C:
Ver original
  1. public ArrayList NumerosRandom(int max)          
  2.           {      
  3.               // Crea un ArrayList para almacenar los números      
  4.               ArrayList lstNumeros = new ArrayList();              
  5.               // Ésto va a generar los números        
  6.               Random rnd = new Random();                
  7.               // Generar un numero del 1 a su máximo        
  8.               int number = rnd.Next(1,25);          
  9.               // Añadir el primero numero a la lista      
  10.               lstNumeros.Add(number);          
  11.               // ´Settear´ el numero donde comenzará a contar (para verificar si existe un numero igual)          
  12.               int count = 0;                
  13.               do                
  14.               {            
  15.                   // Generar un numero del 1 a su máximo                    
  16.                   number = rnd.Next(1,25);                  
  17.                   // Si el nuevo numero no está en la lista pues añádelo                    
  18.                   if (!lstNumeros.Contains(number))                    
  19.                   {                        
  20.                       // Añádelo                        
  21.                       lstNumeros.Add(number);                    
  22.                   }                    
  23.                   count++;                
  24.               } while (count <= 10 * max);                
  25.  
  26.               // Una vez terminado de procesar la lista y añadir los números nuevos, enviarlos              
  27.               return lstNumeros;          
  28.           }      
  29.  
  30. private void button29_Click(object sender, EventArgs e)
  31.        {
  32.  
  33.            Numeros nmr = new Numeros();
  34.            const int Total = 25;
  35.            // Aquí va el número máximo 1-9999            
  36.            ArrayList lstNumeros =nmr.NumerosRandom(Total);            
  37.            for (int i = 0; i < lstNumeros.Count; i++)            
  38.            {                
  39.                TxTNums.Text = lstNumeros[i].ToString()+“ ” ;
  40.  
  41.            }
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 original
  1. private void button29_Click(object sender, EventArgs e)
  2.        {
  3.  
  4.  
  5.            const int Total = 25;
  6.            // Aquí va el número máximo 1-9999            
  7.            ArrayList lstNumeros = NumerosRandom(Total);            
  8.            for (int i = 0; i < lstNumeros.Count; i++)            
  9.            {                
  10.                TxTNums.Text = lstNumeros[i].ToString()+“ ” ;
  11.  
  12.            }

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