我在二维数组中给出了错误的结果
i give wrong result in 2d arrays
你好,我正在制作一个 c-sharp windows 形式的行列式计算器,但我对求和结果有疑问。
该算法是:
总和 = (row11((row22 * row33) - (row23 * row32))) - (row12 ((row21 * row33) - (row23 - row31))) + (row13((row21 * row32) - (row22 - row31) ));
例如这是一个矩阵:|1,2,3|
|2,3,4|
|5,6,7|
结果应该是 0 但在我的代码中我给出 25
public void cal()
{
int[,] a = new int[3, 3];
int row11;
int row12;
int row13;
int row21;
int row22;
int row23;
int row31;
int row32;
int row33;
row11 = Convert.ToInt32(textBox1.Text);
row12 = Convert.ToInt32(textBox2.Text);
row13 = Convert.ToInt32(textBox3.Text);
row21 = Convert.ToInt32(textBox4.Text);
row22 = Convert.ToInt32(textBox5.Text);
row23 = Convert.ToInt32(textBox6.Text);
row31 = Convert.ToInt32(textBox7.Text);
row32 = Convert.ToInt32(textBox8.Text);
row33 = Convert.ToInt32(textBox9.Text);
a[0, 0] = row11;
a[0, 1] = row12;
a[0, 2] = row13;
a[1, 0] = row21;
a[1, 1] = row22;
a[1, 2] = row23;
a[2, 0] = row31;
a[2, 1] = row32;
a[2, 2] = row33;
int sum = (row11 * ((row22 * row33) - (row23 * row32))) - (row12 * ((row21 * row33) - (row23 - row31))) + (row13 * ((row21 * row32) - (row22 - row31)));
textBox19.Text = sum.ToString();
通过分解行列式计算我得到了你的样本 0:
var determinant = a[0, 0] * (a[1, 1] * a[2, 2] - a[2, 1] * a[1, 2]) -
a[0, 1] * (a[1, 0] * a[2, 2] - a[2, 0] * a[1, 2]) +
a[0, 2] * (a[1, 0] * a[2, 1] - a[2, 0] * a[1, 1]);
你好,我正在制作一个 c-sharp windows 形式的行列式计算器,但我对求和结果有疑问。 该算法是: 总和 = (row11((row22 * row33) - (row23 * row32))) - (row12 ((row21 * row33) - (row23 - row31))) + (row13((row21 * row32) - (row22 - row31) ));
例如这是一个矩阵:|1,2,3| |2,3,4| |5,6,7| 结果应该是 0 但在我的代码中我给出 25
public void cal()
{
int[,] a = new int[3, 3];
int row11;
int row12;
int row13;
int row21;
int row22;
int row23;
int row31;
int row32;
int row33;
row11 = Convert.ToInt32(textBox1.Text);
row12 = Convert.ToInt32(textBox2.Text);
row13 = Convert.ToInt32(textBox3.Text);
row21 = Convert.ToInt32(textBox4.Text);
row22 = Convert.ToInt32(textBox5.Text);
row23 = Convert.ToInt32(textBox6.Text);
row31 = Convert.ToInt32(textBox7.Text);
row32 = Convert.ToInt32(textBox8.Text);
row33 = Convert.ToInt32(textBox9.Text);
a[0, 0] = row11;
a[0, 1] = row12;
a[0, 2] = row13;
a[1, 0] = row21;
a[1, 1] = row22;
a[1, 2] = row23;
a[2, 0] = row31;
a[2, 1] = row32;
a[2, 2] = row33;
int sum = (row11 * ((row22 * row33) - (row23 * row32))) - (row12 * ((row21 * row33) - (row23 - row31))) + (row13 * ((row21 * row32) - (row22 - row31)));
textBox19.Text = sum.ToString();
通过分解行列式计算我得到了你的样本 0:
var determinant = a[0, 0] * (a[1, 1] * a[2, 2] - a[2, 1] * a[1, 2]) -
a[0, 1] * (a[1, 0] * a[2, 2] - a[2, 0] * a[1, 2]) +
a[0, 2] * (a[1, 0] * a[2, 1] - a[2, 0] * a[1, 1]);