Ayuda con matrizes

Iniciado por Sandaris, 14 Julio 2016, 01:25 AM

0 Miembros y 1 Visitante están viendo este tema.

Sandaris

Hola, necesito una ayuda me piden calcular la inversa de una matriz de tamaño n*m,pero desafortunadamente no conozco mucho de la materia y eh llegado hasta dar con la determinante y crear otra matriz (B) de identidad, espero me puedan ayudar.
Lo que me complica es al momento de transformar la Matriz A a identidad y a su vez ir haciendo los mismos cálculos en la matriz B para calcular la inversa.
Les dejo lo que llevo de codigo

#include <stdio.h>
int main(){
int n,m,i,j,b=1,c1=0,det,a;
printf("Ingrese el tamanio de la fila de la matriz\n");
scanf("%d",&n);
printf("Ingrese el tamanio de la columna de la matriz\n");
scanf("%d",&m);
int A[n][m];
for(i=0;i<n;i++){
   for(j=0;j<m;j++){
   printf("ingrese un valor en la posicion %d,%d\n",i,j);
   scanf("%d",&A[i][j]);
   }
}
for(j=0;j<m;j++){
for(i=0;i<n;i++){
a=i+j;
if(a>=m){
a=a-m;
}
b=b*A[i][a];
}
c1=c1+b;
}
int b1=1,c2=0;
for(j=0;j<m;j++){
for(i=0;i<n;i++){
a=i-1;
if(a<0){
a=a+m;
}
b1=b1*A[i][a];
}
c2=c2+b1;
}
det=c1-c2;
if(det==0){
   printf("La matriz no se puede invertir por que la determinante es 0 \n");
}
else{
printf("La determinante es: %d",det);
int B[n][m];
for(j=0;j<m;j++){
for(i=0;i<n;i++){
       if(i==j){
  B[i][j]=1;
  }

else{
   B[i][j]=0;}

}

}

}
return 0;
}