PORFAVOR ALGUIEN AYUDEME!!!!
DISCULPENME PERO NECESITO AYUDA, TENGO QUE HACER UN PROGRAMA PARA SACAR LA DETERMINANTE DE UNA MATRIZ DIFERENTE, O SEA MAYOR A UNA DE 2X2 Y 3X3, CUALQUIER AYUDA ES BUENA
hhehe usa el método más fácil, y repite la cantidad de columnas a partir de la última, por ejemplo, si tu matriz es esta:
1 2 3 4
5 6 7 8
9 1 0 5
pues para sacar el determinante repites todas las columnas despues de la ultima y sin contar esta:
1 2 3 4 1 2 3
5 6 7 8 5 6 7
9 1 0 5 9 1 0
y pues de ahi es fácil multiplicar los números en las diagonales, y sumarlos, luego restarles la suma de los productos de las otras diagonales.
si tu matriz A es de NxN entonces es fácil:
public int DET(int[][] A) {
int DET = 0, temp1 = 1, temp2 = 1;
for(int i = 0; i < N; ++i)
{ for(int j = 0; j < N; ++j)
{ temp1 *= A[j][j + i];
temp2 *= A[N - j - 1][N - j - 1 + i];
}
DET += (temp1 - temp2) ;
}
return DET;
}
1 2 3 4
5 6 7 8
9 1 0 5
pues para sacar el determinante repites todas las columnas despues de la ultima y sin contar esta:
1 2 3 4 1 2 3
5 6 7 8 5 6 7
9 1 0 5 9 1 0
y pues de ahi es fácil multiplicar los números en las diagonales, y sumarlos, luego restarles la suma de los productos de las otras diagonales.
si tu matriz A es de NxN entonces es fácil:
public int DET(int[][] A) {
int DET = 0, temp1 = 1, temp2 = 1;
for(int i = 0; i < N; ++i)
{ for(int j = 0; j < N; ++j)
{ temp1 *= A[j][j + i];
temp2 *= A[N - j - 1][N - j - 1 + i];
}
DET += (temp1 - temp2) ;
}
return DET;
}
por cierto, hay que actualizar temp1 y temp2 a 1, jeje se me paso, es q lo hice aqui sin correrlo xD
y tambien en la lÃnea
temp2 *= A[N - j - 1][N - j - 1 + i]; está mal, debe ser
temp2 *= A[N - j - 1][j + i];
vale, deberiamos cobrar por poner código ( - _ - )
y tambien en la lÃnea
temp2 *= A[N - j - 1][N - j - 1 + i]; está mal, debe ser
temp2 *= A[N - j - 1][j + i];
vale, deberiamos cobrar por poner código ( - _ - )