【发布时间】:2019-07-08 15:55:26
【问题描述】:
我正在尝试制作矩阵计算器。其中我几乎完成了矩阵所需的所有操作。所以现在我正在尝试编写代码来查找矩阵的行列式和逆矩阵,但是我得到了如下错误:- “int”类型的参数与“double(*)[100]”类型的参数不兼容
我正在使用 Visual Studio 2019。int dat(int n, double mat[100][100]) //function
{
Matrix s1;
double det = 0;
int p, r, c, subi, i, j, subj;
int submat[10][10];
s1.getmatrix1();
r = c = n;
if (n == 2)
return((mat[0][0] * mat[1][1]) * (mat[1][0] * mat[0][1]));
else
{
for (p = 0; p < n; p++)
{
subi = 0;
for (i = 0; i < n; i++)
{
subj = 0;
for (j = 0; j < n; j++)
{
if (j == c)
continue;
submat[subi][subj] = mat[i][j];
subj++;
}
subi++;
}
det = det + (pow(-1, p) * mat[0][p] * dat(n - 1, submat[i][j])); //here at 'submat' i'm getting that error.
}
}
return 0;
};
【问题讨论】:
-
错误信息有什么不清楚的地方? 显然您不能将
int传递给期望double(*)[100]的函数。
标签: c++ matrix calculator inverse