#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <alloc.h>
float mat(float **a)
{
int i, j;
float s, d, f, g, det;
i=0;
j=0;
s=((a[i+2][j+2]*a[i+3][j+3]-a[i+2][j+3]*a[i+3][j+2])*a[i+1][j+1]-(a[i+2][j+1]*a[i+3][j+3]-a[i+2][j+3]*a[i+3][j+1])*a[i+1][j+2]+(a[i+2][j+1]*a[i+3][j+2]-a[i+2][j+2]*a[i+3][j+1])*a[i+1][j+3]);
d=((a[i+2][j+2]*a[i+3][j+3]-a[i+2][j+3]*a[i+3][j+2])*a[i+1][j]-(a[i+2][j]*a[i+3][j+3]-a[i+2][j+3]*a[i+3][j])*a[i+1][j+2]+(a[i+2][j]*a[i+3][j+2]-a[i+2][j+2]*a[i+3][j])*a[i+1][j+3]) ;
f=((a[i+2][j+1]*a[i+3][j+3]-a[i+2][j+3]*a[i+3][j+1])*a[i+1][j]-(a[i+2][j]*a[i+3][j+3]-a[i+2][j+3]*a[i+3][j])*a[i+1][j+1]+(a[i+2][j]*a[i+3][j+1]-a[i+2][j+1]*a[i+3][j])*a[i+1][j+3]);
g=((a[i+2][j+1]*a[i+3][j+2]-a[i+2][j+2]*a[i+3][j+1])*a[i+1][j]-(a[i+2][j]*a[i+3][j+2]-a[i+2][j+2]*a[i+3][j])*a[i+1][j+1]+(a[i+2][j]*a[i+3][j+1]-a[i+2][j+1]*a[i+3][j])*a[i+1][j+2]);
det=(s*a[i][j])-(d*a[i][j+1])+(f*a[i][j+2])+(g*a[i][j+3]);
return det;
}
void main ()
{
clrscr();
float **b,z;
int i,j;
b = (float**)calloc(4, sizeof(float*));
for (i = 0; i < 4; i++)
b[i] = (float*)calloc(4, sizeof(float));
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
scanf("%f",&b[i][j]);
}
}
z=mat(b);
printf("%.2f",z);
for (i = 0; i < 4; i++)
free(b[i]);
free(b);
getch();
}