private void button1_Click(object sender, EventArgs e) { if (order == 0) { MessageBox.Show("请输入正确的数值"); } else { this.逆矩阵.Enabled = false; this.转置矩阵.Enabled = false; int cnt = 0, i, j; for (i = 0; i < order; i++) { for (j = 0; j < order; j++) { //D[i, j] = int.Parse(LBT[cnt].Text.ToString()); f = int.TryParse(LBT[cnt].Text.ToString(), out D[i, j]); if (f == false) { break; } // Sum += a[i, j]; cnt++; } if (f == false) { break; } } if (f == false) { MessageBox.Show("请输入正确的数值"); } else { LBT1 = new List <TextBox>(); Det.Algebraic_Complement(D, A, order); //求伴随矩阵 int x = location2 + 50, y = 55; for (i = 0; i < order; i++) { for (j = 0; j < order; j++) { TextBox textbox = new TextBox(); textbox.Width = 25; textbox.Height = 15; textbox.Location = new Point(x, y); LBT1.Add(textbox); //加到控件列表中 textbox.TextAlign = HorizontalAlignment.Center; //数值居中 this.Controls.Add(textbox); //添加新控件 textbox.Text = A[i, j].ToString(); x += 35; } x = location2 + 50; y += 35; } } } }
private void button4_Click(object sender, EventArgs e) { // Det.Resove(0,length,arr,A,ref Sum); if (order == 0) { MessageBox.Show("请输入正确的数值"); } else { this.button1.Enabled = false; this.转置矩阵.Enabled = false; int cnt = 0, Sum = 0, i, j; for (i = 0; i < order; i++) { for (j = 0; j < order; j++) { f = int.TryParse(LBT[cnt].Text.ToString(), out D[i, j]); if (f == false) { break; } // Sum += a[i, j]; cnt++; } if (f == false) { break; } } if (f == false) { MessageBox.Show("请输入合理整数!"); } else { #region 求矩阵D的行列式的值 int[] arr = new int[10]; for (i = 0; i < order; i++) { arr[i] = i; } Det.Resove(0, order, arr, D, ref Sum); #endregion if (Sum == 0) { MessageBox.Show("当前矩阵行列式的值为0,矩阵不可逆"); } else { LBT1 = new List <TextBox>(); Det.Algebraic_Complement(D, A, order); //求伴随矩阵 int x = location2 + 50, y = 55; for (i = 0; i < order; i++) { for (j = 0; j < order; j++) { TextBox textbox = new TextBox(); textbox.Width = 40; textbox.Height = 15; textbox.Location = new Point(x, y); LBT1.Add(textbox); //加到控件列表中 textbox.TextAlign = HorizontalAlignment.Center; //数值居中 this.Controls.Add(textbox); //添加新控件 if (A[i, j] % Sum == 0) { textbox.Text = A[i, j].ToString(); } else { textbox.Text = string.Format("{0}/{1}", Math.Abs(A[i, j]) / 自定义函数.gcd(Math.Abs(A[i, j]), Math.Abs(Sum)), Math.Abs(Sum) / 自定义函数.gcd(Math.Abs(A[i, j]), Math.Abs(Sum))); // if (A[i, j] * Sum < 0) { textbox.Text = "-" + textbox.Text; } } x += 50; } x = location2 + 50; y += 35; } } } } }