コード例 #1
0
ファイル: frmInicio.cs プロジェクト: JLSR/finterMS2C2019
        private void Procesar_Click(object sender, EventArgs e)
        {
            if (dgvPuntos.Rows.Count < 2)
            {
                MessageBox.Show("Debe ingresar valores para procesar", "Coordenadas vacías", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            BloquearControles();

            //DEBEN ESTAR ORDENADOS LOS PUNTOS, SEGUN LAS Xi, PARA PODER SABER SI SON EQUIESPACIADAS
            dgvPuntos.Sort(dgvPuntos.Columns[0], ListSortDirection.Ascending);

            _valores = new List <KeyValuePair <double, double> >();
            foreach (DataGridViewRow row in dgvPuntos.Rows)
            {
                _valores.Add(
                    new KeyValuePair <double, double>(
                        double.Parse(row.Cells["X"].Value.ToString()),
                        double.Parse(row.Cells["Y"].Value.ToString())
                        ));
            }

            if (opLagrange.Checked)
            {
                _lagrange         = new Lagrange(_valores);
                txtPolinomio.Text = _lagrange.ObtenerPx();
            }
            else if (opNGProgre.Checked || opNGRegresiva.Checked)
            {
                _ng = new Ng(_valores);
                txtPolinomio.Text = _ng.ObtenerPx(opNGProgre.Checked, opNGRegresiva.Checked);
            }
        }