예제 #1
0
        private void Btnexportar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                double modulo        = double.Parse(txtMoulo.Text);
                int    multiplicador = int.Parse(txtCMultiplicativa.Text);
                int    incremento    = int.Parse(txtIncremento.Text);
                int    numero        = int.Parse(txtSemilla.Text);

                StringBuilder csvcontent = new StringBuilder();

                string cadena = "";

                for (int i = 1; i <= NDeIteraciones; i++)
                {
                    int    Xi = (multiplicador * numero + incremento);
                    double residuo;
                    residuo = Xi % modulo;
                    numero  = int.Parse(residuo.ToString());
                    double NAleatorio;
                    NAleatorio = numero / (modulo - 1);
                    cadena    += string.Format("{0},", NAleatorio.ToString());
                    //csvcontent.AppendLine(string.Format("{0},", NAleatorio.ToString()));
                }
                csvcontent.AppendLine(cadena);

                string destino = "C:\\Users\\Juan carlos\\Desktop\\NumAleatoriosCLineal.csv";
                File.AppendAllText(destino, csvcontent.ToString());

                MessageBox.Show("Los datos se exportaron satisfactoriamente.\nEl documento tiene el nombre de ''NumAleatoriosCLineal''\nSe encuentra ubicado en el escritorio", "Exportar Datos", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            catch (Exception ex)
            {
                Console.WriteLine("" + ex.Message, "Error al exportar", MessageBoxButton.OK, MessageBoxImage.Exclamation, MessageBoxOptions.RtlReading);
            }
        }
예제 #2
0
        private void BtnCalcular_Click(object sender, RoutedEventArgs e)
        {
            lblResultados.Content  = "";
            lblResultados2.Content = "";

            if (CClompletoRadiobutton.IsChecked == true)
            {
                txtNIteraciones.Text = "0";
            }

            if (!string.IsNullOrEmpty(txtMoulo.Text) && !string.IsNullOrEmpty(txtSemilla.Text) && !string.IsNullOrEmpty(txtIncremento.Text) && !string.IsNullOrEmpty(txtCMultiplicativa.Text) && !string.IsNullOrEmpty(txtNIteraciones.Text) && CClompletoRadiobutton.IsChecked == true || DIteracionesRadiobutton.IsChecked == true)
            {
                int    i = 0;
                int    multiplicador;
                int    semilla;
                int    incremento;
                double modulo;
                modulo        = double.Parse(txtMoulo.Text);
                multiplicador = int.Parse(txtCMultiplicativa.Text);
                semilla       = int.Parse(txtSemilla.Text);
                incremento    = int.Parse(txtIncremento.Text);
                int numero;
                int Xi;
                numero = semilla;
                int y = 0;

                if (NumDeIteraciones)
                {
                    NDeIteraciones = int.Parse(txtNIteraciones.Text);
                }
                else
                {
                    NDeIteraciones = int.Parse(txtMoulo.Text);
                }

                double[] datos = new double[NDeIteraciones];

                for (int k = 0; k < NDeIteraciones; k++)
                {
                    datos[k] = -1;
                }

                do
                {
                    Xi = (multiplicador * numero + incremento);
                    double residuo;
                    double PEntera;
                    PEntera = Xi / modulo;
                    residuo = Xi % modulo;
                    double NAleatorio;
                    numero     = int.Parse(residuo.ToString());
                    NAleatorio = numero / (modulo - 1);

                    bool SeRepite = false;

                    foreach (var item in datos)
                    {
                        if (item == NAleatorio)
                        {
                            SeRepite = true;
                            break;
                        }
                        else
                        {
                            SeRepite = false;
                        }
                    }

                    if (!NumDeIteraciones)
                    {
                        if (SeRepite)
                        {
                            MessageBox.Show("Se repite");
                            NDeIteraciones = i;
                            break;
                        }
                        else
                        {
                            datos[i] = NAleatorio;
                            if (y % 2 == 0)
                            {
                                lblResultados.Content += string.Format(" U{0}={1}\n", (i + 1), NAleatorio.ToString());
                            }

                            else
                            {
                                lblResultados2.Content += string.Format(" U{0}={1}\n", (i + 1), NAleatorio.ToString());
                            }

                            i++;
                            y++;
                        }
                    }
                    else
                    {
                        datos[i] = NAleatorio;
                        if (y % 2 == 0)
                        {
                            lblResultados.Content += string.Format(" U{0}={1}\n", (i + 1), NAleatorio.ToString());
                        }

                        else
                        {
                            lblResultados2.Content += string.Format(" U{0}={1}\n", (i + 1), NAleatorio.ToString());
                        }

                        i++;
                        y++;
                    }
                } while (i != NDeIteraciones);
            }
            else
            {
                MessageBox.Show("Faltan datos por llenar", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            btnGraficar.IsEnabled = true;
        }