float m[3][3] = { { 1,2,3 }, {3,4,5}, {100,200,300} };float D;D = m[0][0]*m[1][1]*m[2][2] + m[1][0]*m[2][1]*m[0][2] + m[2][1]*m[0][1]*m[1][2] - m[0][2]*m[1][1]*m[2][0] - m[1][2]*m[2][1]*m[0][0] - m[2][2]*m[0][1]*m[1][0];
octave:1> A=[0,2,0,1;2,2,3,2;4,-3,0,1.;6,1,-6,-5] A = 0 2 0 1 2 2 3 2 4 -3 0 1 6 1 -6 -5 octave:2> det(A) ans = -234.00 octave:3>
Pro výpočet determinantu se mnohem lépe hodí třeba Octave. Je to mnohem jednodušší, než to patlat v C++:
Použil bych pivotovou metodunapř. máme maticia11 a12 a13 a14a21 a22 a23 a24a31 a32 a33 a34a41 a42 a43 a44...sry irelevantníé rada teď čtu Sarusovým pravidlem 3x3 neboli prvně celou matici načíst do pole 3x3 (postup záleží na tom, jak zní zadání, buď ručně načíst čísla z klávesníce cin >> pole[1][1], cin >> pole [1][2], .. nebo obdobn2 ze souboru) a potom tupě vypsat cout << pole [1][1]*pole[2][2] ...