determinante metodo gaus urgente!!!
Necesito sacar el determinante de una matriz de cualquier dimension. EStoy intentando sacarlo por el metodo de gaus(triangulaci贸n inferior) pero para dimension 3x3 no da bien. Alguien me podria decir que estoy haciendo mal o que falla???
el c贸digo es el siguiente:
double ClaseMatriz::determinante(){
int renglones=1, i,j,it,jt,k,ip,jp;
double det=1,num;
ClaseMatriz matriztem(*this);
for(it=0;it<filas;it++)
{
for(jt=0;jt<columnas;jt++)
matriztem.matriz[it][jt]=0;
}
cout << "matriztem: punto 1" << endl;
matriztem.Visualizar();
for(renglones=1; renglones<filas; renglones++)
{
for(i=renglones;i<filas;i++)
{
num=-(matriz[i][renglones-1]/matriz[renglones-1][renglones-1]);
for(j=0;j<columnas;j++){
matriztem.matriz[i][j]=((num*matriz[renglones-1][j])+matriz[i][j]);
}
}
}
cout << "matriztem: punto 2" << endl;
matriztem.Visualizar();
renglones=1;
for(ip=renglones; ip<filas;ip++)
{
for(jp=0;jp<columnas;jp++)
matriz[ip][jp]=matriztem.matriz[ip][jp];
}
cout << "matriz : punto 3" << endl;
(*this).Visualizar();
for(k=0;k<filas;k++)
{
det=matriz[k][k]*det;
}
return(det);
}
el c贸digo es el siguiente:
double ClaseMatriz::determinante(){
int renglones=1, i,j,it,jt,k,ip,jp;
double det=1,num;
ClaseMatriz matriztem(*this);
for(it=0;it<filas;it++)
{
for(jt=0;jt<columnas;jt++)
matriztem.matriz[it][jt]=0;
}
cout << "matriztem: punto 1" << endl;
matriztem.Visualizar();
for(renglones=1; renglones<filas; renglones++)
{
for(i=renglones;i<filas;i++)
{
num=-(matriz[i][renglones-1]/matriz[renglones-1][renglones-1]);
for(j=0;j<columnas;j++){
matriztem.matriz[i][j]=((num*matriz[renglones-1][j])+matriz[i][j]);
}
}
}
cout << "matriztem: punto 2" << endl;
matriztem.Visualizar();
renglones=1;
for(ip=renglones; ip<filas;ip++)
{
for(jp=0;jp<columnas;jp++)
matriz[ip][jp]=matriztem.matriz[ip][jp];
}
cout << "matriz : punto 3" << endl;
(*this).Visualizar();
for(k=0;k<filas;k++)
{
det=matriz[k][k]*det;
}
return(det);
}
