大家.我需要找到矩阵n * n(或5 * 5)行列式.我有一个从Pascal翻译过的函数,但是它有INDEX OUT OF RANGE EXCEPTION.有人能帮帮我吗?
这是我的代码:
public static double DET(double[,] a,int n) { int i,j,k; double det = 0; for (i = 0; i < n - 1; i++) { for (j = i + 1; j < n + 1; j++) { det = a[j,i] / a[i,i]; for (k = i; k < n; k++) a[j,k] = a[j,k] - det * a[i,k]; // Here's exception } } det = 1; for (i = 0; i < n; i++) det = det * a[i,i]; return det; }
Thanx任何帮助.
解决方法
for (j = i + 1; j < n + 1; j++)
最后的J值将大于数组大小.因此,您必须重新检查数组大小以及所有索引是如何从pascal转换的.