事情是这样的,要搞一个行列式求值,函数没问题,但是出现了ce。
请问这个Deva函数怎么传二维数组。
//开头及准备部分
#include<bits/stdc++.h>
using namespace std;
//行列式求值
int Deva(int **a,int n){
int ans=0,flag=1;
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
flag*=a[(i+j-1)%n][(j)%n];
}
ans+=flag;
flag=1;
}
for(int i=n-1;i>=0;i++){
for(int j=0;j<=n;j++){
flag*=a[(i-j+1)%n][(j)%n];
}
ans-=flag;
flag=1;
}
return ans;
}
//主函数
int n,a[10001][10001];
int main(){
cin>>n;
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
cin>>a[i][j];
}
}
cout<<Deva(a,n);
return 0;
}
最后是cout<<Deva(a,n); 这里报的错。
下面是dev-c++的报错信息:
[Error] cannot convert 'int (*)[10001]' to 'int**' for argument '1' to 'int Deva(int**, int)'
在线等,急