karlangadas

det

Sep 5th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.16 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #define M 10
  5. int asignarmatriz(int matriz[M][M],int n);
  6. int det(int matriz[M][M],int n);
  7. void mat(int matriz[M][M],int n,int k,int mataux[M][M]);
  8.  
  9. int main(int argc, char** argv) {
  10.     int n;
  11.     int matriz[M][M];
  12.     //while(scanf("%d",n)!=EOF){
  13.     n=2;
  14.     asignarmatriz(matriz,n);
  15.     printf("%d",det(matriz,n));
  16.     //}
  17.     return (EXIT_SUCCESS);
  18. }
  19.  
  20. int asignarmatriz(int matriz[M][M],int n){
  21.     int i,j;
  22.     for(i=1;i<=n;i++){
  23.         for(j=1;j<=n;j++){
  24.             scanf("%d",&matriz[i][j]);
  25.         }
  26.     }
  27. }
  28.  
  29. int det(int matriz[M][M],int n){
  30.     int det1,k;
  31.     int mataux[M][M];
  32.     if (n==1)
  33.         return matriz[1][1];
  34.     det1=0;
  35.     for (k=1;k<=n;k++){
  36.         mat(matriz,n,k,mataux);
  37.         det1=1;
  38.         det1=det1+pow((-1),(1+k))*(matriz[1][k])*det(mataux,n-1);
  39.     }
  40.     return det;
  41. }
  42.  
  43. void mat(int matriz[M][M],int n,int k,int mataux[M][M]){
  44.     int i,j;
  45.     for (i=1;i<=n-1;i++){
  46.         for (j=1;j<=k-1;j++){
  47.             mataux[i][j]=matriz[i+1][j];
  48.         }
  49.         for (j=k;j<=n-1;j++){
  50.             mataux[i][j]=matriz[i+1][j+1];
  51.         }
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment