All pastes #2071718 Raw Edit

Someone

public text v1 · immutable
#2071718 ·published 2011-05-29 21:18 UTC
rendered paste body
#include<stdio.h>

#define M 2
#define N 3
typedef float MATRIX[N][N];
typedef float SUBMATRIX[M][M];
float determinante3(MATRIX matriz);
float subdeterminante(SUBMATRIX matriz);

main()
{
 MATRIX matriz={{2,0,6},{0,2,5},{4,0,3}};
 MATRIX adjunta, inversa;
 SUBMATRIX a, b, c, d, e, f, g, h, i;
 
 //Determinante
  float determinante, invdet;
  int t,u;
  determinante=determinante3(matriz);
  printf("Determinante:%.2f ", determinante);
  printf("\n");
  
  invdet=1/determinante;
  printf("Inv.Determinante:%.2f ", invdet);
  printf("\n");
 
 
 //Submatrices
 a[0][0]= matriz[1][1];a[0][1]=matriz[1][2];a[1][0]=matriz[2][1];a[1][1]= matriz[2][2];
 b[0][0]= matriz[1][0];b[0][1]=matriz[1][2];b[1][0]=matriz[2][0];b[1][1]=matriz[2][2];
 c[0][0]= matriz[1][0];c[0][1]=matriz[1][1];c[1][0]=matriz[2][0];c[1][1]=matriz[2][1];
 d[0][0]= matriz[0][1];d[0][1]=matriz[0][2];d[1][0]=matriz[2][1];d[1][1]=matriz[2][2];
 e[0][0]= matriz[0][0];e[0][1]=matriz[0][2];e[1][0]=matriz[2][0];e[1][1]=matriz[2][2];
 f[0][0]= matriz[0][0];f[0][1]=matriz[0][1];f[1][0]=matriz[2][0];f[1][1]=matriz[2][1];
 g[0][0]= matriz[0][1];g[0][1]=matriz[0][2];g[1][0]=matriz[1][1];g[1][1]=matriz[1][2];
 h[0][0]= matriz[0][0];h[0][1]=matriz[0][2];h[1][0]=matriz[1][0];h[1][1]=matriz[1][2];
 i[0][0]= matriz[0][0];i[0][1]=matriz[0][1];i[1][0]=matriz[1][0];i[1][1]=matriz[1][1];

//matriz adjunta
adjunta[0][0]=subdeterminante(a);
adjunta[0][1]=-1*subdeterminante(b);
adjunta[0][2]=subdeterminante(c);
adjunta[1][0]=-1*subdeterminante(d);
adjunta[1][1]=subdeterminante(e);
adjunta[1][2]=-1*subdeterminante(f);
adjunta[2][0]=subdeterminante(g);
adjunta[2][1]=-1*subdeterminante(h);
adjunta[2][2]=subdeterminante(i);

for(t=0;t<3;t++)
    {
       for(u=0;u<3;u++)
       {
          printf("%.2f ", adjunta[t][u]);
       
       }
    }

getchar();
}

float determinante3(MATRIX matriz)
{
  float determinante;
  determinante = matriz[0][0]*matriz[1][1]*matriz[2][2];
  determinante += matriz[0][1]*matriz[1][2]*matriz[2][0];
  determinante += matriz[1][0]*matriz[2][1]*matriz[0][2];
  determinante -= matriz[0][2]*matriz[1][1]*matriz[2][0];
  determinante -= matriz[0][1]*matriz[1][0]*matriz[2][2];
  determinante -= matriz[0][0]*matriz[2][1]*matriz[1][2]; 
  return determinante; 
} 

float subdeterminante(SUBMATRIX matriz)
{
  float determinante;
  determinante = matriz[0][0]*matriz[1][1];
  determinante -= matriz[0][1]*matriz[1][0];
  return determinante;
}