void prepisi(int matrika[max_vel][max_vel], int dimenzija,
int iz_stolpec, int iz_vrstica,
int nova_matrika[max_vel][max_vel])
{ int i; /* vrstica */
int j; /* stolpec */
int i_c; /* ciljna vrstica */
int j_c; /* ciljni stolpec */
for(i = 0, i_c = 0; i < dimenzija; i++) {
if (i != iz_vrstica) {
for(j = 0, j_c = 0; j < dimenzija; j++)
if (j != iz_stolpec) {
nova_matrika[i_c][j_c] = matrika[i][j];
j_c++;
} /* if */
i_c++;
} /* if */
} /* for */
} /* prepisi */
/* ------------------------------------------------------------------- */
int determinanta(int dimenzija, int matrika[max_vel][max_vel])
{
int rezultat;
int i; /* vrstica */
int zac_matrika[max_vel][max_vel]; /* zacasna matrika */
if (dimenzija == 1) return matrika[0][0];
else {
rezultat = 0;
for (i = 0; i < dimenzija; i++) {
prepisi(matrika, dimenzija, 0, i, zac_matrika);
if ((i + 0) % 2 == 0)
rezultat+=
matrika[i][0] * determinanta(dimenzija - 1, zac_matrika);
else
rezultat-=
matrika[i][0] * determinanta(dimenzija - 1, zac_matrika);
} /* for */
return rezultat;
} /* else */
} /* determinanta */
Celoten program je objavljen v novičkah.