CS153/hw6/oatprograms/determinant_size2.oat
jmug cfe502c598 Add all the assignment code.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
2025-01-24 18:59:28 -08:00

31 lines
840 B
Text

int compute_determinant(int[][] matrix, int n) {
var sum = 0;
var multiplier = -1;
if (n == 1) {
sum = matrix[0][0];
}
else {
for (var k = 0; k < n; k = k+1;) {
var len = n-1;
var b=new int[][len]{i-> new int[len]{j -> 1}};
for (var l = 0; l < k; l=l+1;) {
for (var m = 0; m < n-1; m=m+1;) {
b[m][l] = matrix[m+1][l];
}
}
for (var o = k; o < n-1; o=o+1;) {
for (var p = 0; p < n-1; p=p+1;) {
b[p][o] = matrix[p+1][o+1];
}
}
multiplier = multiplier * -1;
sum = sum + multiplier * matrix[0][k] * compute_determinant(b, n-1);
}
}
return sum;
}
int program (int argc, string[] argv) {
var matrix = new int[][]{new int[]{20,2},new int[]{3,5}};
return compute_determinant(matrix, 2);
}