#include<iostream> #include<cmath> using namespace std; double HLS(int n,double **c); int main() { int a,b,n; cout<<"n=:"; cin>>n; double **c; c=new double*[n+1]; for(int i=0;i<n+1;i++) { c[i]=new double[n+1]; } for(a=1;a<=n;a++) { for(b=1;b<=n;b++) { cout<<"c["<<a<<"]["<<b<<"]=:"; cin>>c[a][b]; } cout<<endl; } cout<<HLS(n,c)<<endl; delete c; return 0; } double HLS(int n,double **c) { if(n==1) { return c[1][1]; } double s=0; int i; for(i=1;i<=n;i++) { int a,b; double m; for(a=1;a<=n;a++) { m=c[a][i]; for(b=i;b<n;b++) { c[a][b]=c[a][b+1]; } c[a][n]=m; } s=c[n][n]*HLS(n-1,c)*pow(-1.0,n+i)+s; for(a=1;a<=n;a++) { m=c[a][n]; for(b=n;b>i;b--) { c[a][b]=c[a][b-1]; } c[a][i]=m; } } return s; }