martes, 4 de diciembre de 2012

Generar Numeros Aleatorios Sin Repetir Numeros

Bueno para empezar con este blog les compartire este codigo para generar numeros aleatorios sin que éstos se repitan :)

Aqui una imagen de la forma

















y Aqui el código

 private void buttonGenerar_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear();      //Limpia los datos del gridview
            int cantidad = int.Parse(textBox1.Text);  
            int[] numeros = new int[cantidad];

            Random r = new Random();

            for (int i = 0; i < cantidad; i++) 
            {
                numeros[i] = r.Next(0, cantidad);

                if (i>0)    // a partir del segundo numero que genera empezara a comparar que no se repita
                {
                    for (int x = 0; x < 50; x++)  //comprobara que no se repita por 50 veces
                    {

                        for (int j = 0; j < i; j++)
                        {
                            if (numeros[i] == numeros[j]) 
                            {
                                numeros[i] = r.Next(0, cantidad);
                            }
                        }
                    }
                }

            }

            for (int i = 0; i < cantidad; i++)
            {
                dataGridView1.Rows.Insert(i, (i + 1), numeros[i]);
    }
        }

y aqui el resultado


















para cualquier duda, recomendacion, reclamo o lo que sea xD  les dejo mi correo
traceurkio@outlook.com