private void button2_Click(object sender, EventArgs e) { var prob = new List <double>(datagridProbabilities.Rows.Count * (datagridProbabilities.Columns.Count - FirstIndex)); double p = 0.0; double sum = 0; try { for (int j = FirstIndex; j < datagridProbabilities.Columns.Count; j++) { for (int i = 0; i < datagridProbabilities.Rows.Count; i++) { if (double.TryParse(((datagridProbabilities[j, i].Value).ToString()), out p) && p >= 0 && p <= 1) { prob.Add(p); } else { throw new Exception("Algun valor no es correcto. Verifique que sean numeros entre 0 y 1"); } } } for (int k = 0; k < datagridProbabilities.Rows.Count; k++) { for (int l = FirstIndex; l < datagridProbabilities.Columns.Count; l++) { sum += double.Parse(datagridProbabilities[l, k].Value.ToString()); } if (Math.Abs(1 - sum) > 0.0000000000000000000000000000000000001) { throw new Exception("La suma de las probabilidades de cada estado del nodo " + "" + "deben ser 1"); } sum = 0; } } catch (Exception ex) { MessageBox.Show("Hubo un error obteniendo las probabilidades condicionales. \n" + ex.Message); return; } var arr = new List <int>(ParentStates); arr.Insert(0, Mystates); Probabilities = new RB_Message_Transfer.Probability(prob.ToArray(), arr.ToArray()); }
private void button2_Click(object sender, EventArgs e) { var prob = new List<double>(datagridProbabilities.Rows.Count * (datagridProbabilities.Columns.Count - FirstIndex)); double p = 0.0; double sum = 0; try { for (int j = FirstIndex; j < datagridProbabilities.Columns.Count; j++) { for (int i = 0; i < datagridProbabilities.Rows.Count; i++) { if (double.TryParse(((datagridProbabilities[j, i].Value).ToString()), out p) && p >= 0 && p <= 1) { prob.Add(p); } else { throw new Exception("Algun valor no es correcto. Verifique que sean numeros entre 0 y 1"); } } } for (int k = 0; k < datagridProbabilities.Rows.Count; k++) { for (int l = FirstIndex; l < datagridProbabilities.Columns.Count; l++) sum += double.Parse(datagridProbabilities[l, k].Value.ToString()); if (Math.Abs(1 - sum) > 0.0000000000000000000000000000000000001) throw new Exception("La suma de las probabilidades de cada estado del nodo " + "" + "deben ser 1"); sum = 0; } } catch (Exception ex) { MessageBox.Show("Hubo un error obteniendo las probabilidades condicionales. \n" +ex.Message); return; } var arr=new List<int>(ParentStates); arr.Insert(0,Mystates); Probabilities = new RB_Message_Transfer.Probability(prob.ToArray(), arr.ToArray()); }