PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/06/27 15:46:55
Name Ibiza
Subject C언어로 행렬의 Determinant를 구하는 알고리듬 하나 질문드립니다.
안녕하세요!

뒤늦게 C언어를 배우고 있는 유학생입니다.

문제는 다음과 같습니다.

The minor of an element a_i,j(a_i,j stards for a sub i and j) of a matrix A is the determinant of the matrix obtained by removing the row and column to which the given element a_i,j belongs. Thus, if the original matrix has four rows and columns, the minor is the determinant of a matrix with three rows and columns. Write a function to compute the minor of a square matrix with four rows and four columns. The input arguments should be the matrix A and the values of i and j.
Assume that the corresponding function prototype is
(행렬 A의 성분 Aij의 마이너는 그 성분 Aij가 속하는 행과 열을 제거한 행렬의 디터미넌트이다. 만약 본래의 행렬이 4 x 4의 형태라면 마이너는 3x3행렬의 디터미넌트이다.. 행렬 A와 i,j에 해당하는 값을 입력할수 있는 4x4행렬의 마이너를 계산하는 함수를 작성하여라. 함수원형은 다음과 같다고 가정하여라.)
double minor( double a[4][4], int i, int j);

이상이구요.

제가 맨처음 생각한 알고리듬은 if statement를 사용하여 i,j 의 값을 가정한다음에 그에 대응하는 determinant를 계산하는 거였는데
하다보니 이 풀이는 가독성에서나 길이로 볼때 옳은 풀이가 아니라는 생각이 들더라구요.
좀더 체계적인 방법(알고리듬)이 없을까요?
피지알 능력자 분들 도와주세요!

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
내려올팀은 내
10/06/27 16:29
수정 아이콘
수학적인 방법 그대로 cofactor를 계산하는 재귀함수 식으로 계산하는 게 낫겠죠.
그러면 n by n matrix도 쉽게 코드를 짤 수 있습니다.
꿀호떡a
10/06/27 18:43
수정 아이콘
double minor( double a[4][4], int i, int j) 형태로 주어진다면
별다른 알고리즘 없이 그냥 4 by 4에 한해서 수동으로 하듯이 계산하라는 말 같네요. 보시다시피 minor를 재활용(재귀)할 수 있는 형태도 아니고..

3 * 3의 determinant를 계산하는 공식을 그냥 적용해서 쓰시면 될 것 같습니다.
10/06/27 19:58
수정 아이콘
흠 그렇군요^^;;; 머리털나고 처음배우는 프로그래밍언어라 어려움이 많습니다.;;; 답변들 정말감사합니다~
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
84989 어제 이동국 선수 잘했나요? [9] 언데드네버다1863 10/06/27 1863
84988 지식채널e 인가에서 나온 것 같은데, 동일 남자 양복 입은 모습 vs 캐쥬얼 차림.. [2] 선미남편1890 10/06/27 1890
84987 이동국 선수 팬분들은 왜 지나칠 정도로 이동국 선수를 보호하려하나요? [26] ZerGaa2389 10/06/27 2389
84986 파일 삭제가 안됩니다.. 라캉~1316 10/06/27 1316
84985 아이튠즈 질문입니다. 초록추억1521 10/06/27 1521
84984 PRC 200 시계를 면세점에서 구매하려고 합니다. [6] 가아든2213 10/06/27 2213
84983 [컴퓨터업그레이드질문] 그래픽 카드 교체.. [3] allgos1719 10/06/27 1719
84981 C언어로 행렬의 Determinant를 구하는 알고리듬 하나 질문드립니다. [3] Ibiza7161 10/06/27 7161
84980 요즘 아이유가 그렇게나 좋습니다. [3] Xell0ss2473 10/06/27 2473
84979 뒷머리 눌리는 현상 어떻게 해야하나요?? [8] Psy_Onic-0-6497 10/06/27 6497
84978 pgr 홈페이지 에러 [1] StarInTheNight1770 10/06/27 1770
84977 RSS 리더에서 PGR 글이 깨져서 나옵니다. Acher1317 10/06/27 1317
84976 다음팟 사용하는데 자꾸 찌직거리는 소리가 납니다. [6] 허느님맙소사1571 10/06/27 1571
84975 파워가 낮으면 부팅이 안될수도 있나요? [1] 종종종그그미1702 10/06/27 1702
84974 컴퓨터 견적짜봤는데요. [4] Pomm1394 10/06/27 1394
84972 수학문제 두문제 질문합니다~!! [6] 방구벌레2157 10/06/27 2157
84971 cpu 쿨러 청소후 cpu가 안돌아 가요 급해요 빨리좀 알려주세요. [4] 종종종그그미2946 10/06/27 2946
84970 와우를 해보려고 합니다.. [7] 불륜1673 10/06/27 1673
84969 남성 화장품 질문하고 피부 관리 방법요! [1] 가니야1758 10/06/27 1758
84968 어제 기성용 선수의 핸들링 반칙... [17] 고등어3마리2819 10/06/27 2819
84967 [오류] 쪽지 오류 및 로그인 오류 때문에 정상적인 PGR 이용이 불가능한 상황입니다. [5] The xian1949 10/06/27 1949
84966 소피스트들의 철학은 왜 인정받지 못하나요? [3] legend2386 10/06/27 2386
84965 [축구] 중남미리그 수준 & 멕시코 축구인기 [4] 3114 10/06/27 3114
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로