C 언어로 행렬식(Determinant)
추천글 : 【C 언어】 C 언어 목차
1. 행렬식의 성질 [본문]
2. 코드 [본문]
2. 코드 [목차]
#include <stdio.h>
#include <stdlib.h>
/* This source is for finding determinant value by using minor determinant expansion */
int det(int n, int (*Matrix)[n]){
if(n == 1) return Matrix[0][0];
int i, j, k;
int minor_Matrix[n][n-1][n-1];
for(k = 0; k < n; k++){
for(i = 0; i < n - 1; i++)
for(j = 0; j < n; j++){
if(j < k)
minor_Matrix[k][i][j] = Matrix[i + 1][j];
else if(j > k)
minor_Matrix[k][i][j - 1] = Matrix[i + 1][j];
}
}
int sum = 0;
int test = 1;
for(k = 0; k < n; k++){
sum += test * Matrix[0][k] * det(n - 1, minor_Matrix[k]);
test *= -1;
}
return sum;
}
int main(void) {
int n, i, j; scanf("%d", &n);
int Matrix[n][n];
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
scanf("%d", &Matrix[i][j]);
printf("%d", det(n, Matrix));
return 0;
}
입력 : 2016.02.24 17:35
'▶ 자연과학 > ▷ C, C++' 카테고리의 다른 글
【코딩】 C 언어로 이항계수 (0) | 2016.06.27 |
---|---|
【코딩】 C 언어로 콜라츠의 추측 (0) | 2016.06.27 |
【코딩】 C 언어로 큰 수 처리 (0) | 2016.06.27 |
【코딩】 C 언어로 연속수 (0) | 2016.06.27 |
【코딩】 C 언어로 소인수분해 (Integer Factorization) (0) | 2016.06.27 |
최근댓글