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.