#include <stdio.h>
#include <math.h>
/*i */
/* i */
float det(float a[10][10],int n) {
int j,k,l,k1,l1,zn,n1;
float b[10][10],deter,d;
if (n==1) deter=a[0][0];
if (n==2) deter=a[0][0]*a[1][1]-a[0][1]*a[1][0];
if (n>2) {
deter=0;
for (j=0;j<n;j++) {
if (fmod(j,2)==0) zn=1;
else zn=-1;
k=1;l=0;n1=n-1;
for (k1=0;k1<n1;k1++,k++) {
l=0;
for (l1=0;l1<n1;l1++,l++) {
if (l1==j) l++;
b[k1][l1]=a[k][l];
};
};
d=det(b,n1);
deter+=a[0][j]*zn*d;
};
};
return(deter);
}
main () {
float a,mas[10][10];
int i,j,p;
FILE *res;
res=fopen("deter.txt","w");
printf("i ");
scanf("%d",&p);
/*i iii i*/
for(i=0;i<p;i++) {
for(j=0;j<p;j++) {
scanf("%f",&a);
mas[i][j]=a;
};
};
fprintf(res,"\n");
for(i=0;i<p;i++) {
for(j=0;j<p;j++) fprintf(res," %5.2f",mas[i][j]);
fprintf(res,"\n");
};
a=det(mas,p);
fprintf(res," i det=%5.3f\n ",a);
fclose(res);
}
3.00 6.00 4.00 1.00
7.00 0.00 4.00 3.00
2.00 5.00 7.00 9.00
3.00 7.00 4.00 2.00
i det=-308.000
- . , : ,
a1=
dj - , d j- .
. , - . , MathCad. .