コード例 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            MethodGaussa gaussAuto = new MethodGaussa();

            gaussAuto = CopyToGauss();
            string str = "";

            str += "Рассширенная матрица системы: \n\n";
            str += gaussAuto.MatrToStr() + "\n";

            str += gaussAuto.AutoRezult();

            str += "С помощью элементарных преобразований получаем матрицу: \n\n";
            str += gaussAuto.MatrToStr() + "\n";
            str += "Ответ: ";

            if (!gaussAuto.IsResultExist())
            {
                str += " система несовместна (не имеет решений)\n";
            }
            else
            if (!gaussAuto.IsFindRez())
            {
                str += " система имеет бесконечно много решений\n";
            }
            else
            {
                str += gaussAuto.XtoStr();
            }


            lblAutoRezult.Text = str;
        }
コード例 #2
0
        private void button4_Click(object sender, EventArgs e)
        {
            int    str1 = Convert.ToInt32(numRow1.Value - 1);
            int    str2 = Convert.ToInt32(numRow2.Value - 1);
            double num  = 1;

            try
            {
                num = Convert.ToDouble(textBoxX.Text);
            }
            catch { }
            if (rdBtnEchangeRows.Checked == true)
            {
                gauss.ExchangeRow(str1, str2);
                lblMatr.Text += "Поменять местами строки " + numRow1.Value + " и " + numRow2.Value;
            }

            if (rdBtnAddRowToRow.Checked == true)
            {
                gauss.AddRowToRow(str1, str2, num);
                lblMatr.Text += "К строке " + numRow1.Value + " прибавить строку " + numRow2.Value + " умн. на " + num;
            }

            if (rdBtnMultRow.Checked == true)
            {
                gauss.MultiplyRow(str1, num);
                lblMatr.Text += "Умножить строку " + numRow1.Value + " на " + num;
            }
            if (rdBtnDiv.Checked == true)
            {
                gauss.DivideRow(str1, num);
                lblMatr.Text += "Разделить строку " + numRow1.Value + " на " + num;
            }
            if (rdBtnDelRows.Checked == true)
            {
                gauss.DelAllZeroRow();
                lblMatr.Text   += "Удалить нулевые строки";
                numRow1.Maximum = gauss.curKolUravn;
                numRow2.Maximum = gauss.curKolUravn;
            }
            if (rdBtnBackWay.Checked == true)
            {
                gauss.BackWay();
                lblMatr.Text += "Ответ: " + gauss.XtoStr() + "\n";
            }
            else
            {
                lblMatr.Text += " ===>\n" + gauss.MatrToStr() + "\n";
            }
        }
コード例 #3
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (lblMatr.Text.Trim() == "")
            {
                gauss         = CopyToGauss();
                lblMatr.Text  = "Рассширенная матрица системы: \n\n";
                lblMatr.Text += gauss.MatrToStr() + "\n";

                numRow1.Maximum = numericUpDown1.Value;
                numRow2.Maximum = numericUpDown1.Value;
            }
            else
            if (MessageBox.Show("Очистить решение и скопировать исходную матрицу?", "", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                gauss         = CopyToGauss();
                lblMatr.Text  = "Рассширенная матрица системы: \n\n";
                lblMatr.Text += gauss.MatrToStr() + "\n";

                numRow1.Maximum = numericUpDown1.Value;
                numRow2.Maximum = numericUpDown1.Value;
            }
        }