Пример #1
0
        private void критерийРандомизацииКомпонентФишераToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //try
            //{
            if (toolStripComboBox2.Text == toolStripComboBox3.Text)
            {
                throw new Exception("Необходимо взять разные выборки");
            }
            Form2 form2 = new Form2(new string[] { "0,10", "0,05", "0,02", "0,01", "0,002", "0,001" });

            if (form2.ShowDialog() == DialogResult.OK)
            {
                Form3 form3 = new Form3(new string[] { "Левосторонняя", "Правосторонняя", "Двусторонняя" });
                if (form3.ShowDialog() == DialogResult.OK)
                {
                    ArrayList xal = new ArrayList(), yal = new ArrayList();
                    float     alpha = float.Parse(form2.comboBox1.Text);
                    foreach (DataRow r in dataSet1.Tables[toolStripComboBox1.Text].Rows)
                    {
                        if (r[toolStripComboBox2.Text].GetType() == typeof(int))
                        {
                            xal.Add((float)(int)r[toolStripComboBox2.Text]);
                        }
                        if (r[toolStripComboBox2.Text].GetType() == typeof(float))
                        {
                            xal.Add((float)r[toolStripComboBox2.Text]);
                        }

                        if (r[toolStripComboBox3.Text].GetType() == typeof(int))
                        {
                            yal.Add((float)(int)r[toolStripComboBox3.Text]);
                        }
                        if (r[toolStripComboBox3.Text].GetType() == typeof(float))
                        {
                            yal.Add((float)r[toolStripComboBox3.Text]);
                        }
                    }
                    float[] x = (float[])xal.ToArray(typeof(float));
                    float[] y = (float[])yal.ToArray(typeof(float));

                    CriticalAreaType ca = CriticalAreaType.DoubleSided;
                    Criterions       c  = new Criterions(x, y, alpha);
                    if (form3.comboBox1.Text == "Левосторонняя")
                    {
                        ca = CriticalAreaType.OneSidedLeft;
                    }
                    if (form3.comboBox1.Text == "Правосторонняя")
                    {
                        ca = CriticalAreaType.OneSidedRight;
                    }
                    if (form3.comboBox1.Text == "Двусторонняя")
                    {
                        ca = CriticalAreaType.DoubleSided;
                    }
                    c.F(ca);
                    Form4 form4 = new Form4(c.criterion, c.leftBound, c.rightBound, c.result);
                    form4.ShowDialog();
                }
            }
            //}
            //catch
            //{
            //  MessageBox.Show("Ошибка расчета критерия", "Критерий Фишера");
            //}
        }