3x3행렬 오류..
가루
#include stdio.h
void main()
{
int i,j,A[3][3],B[3][1],x,y,z,C,D[3][3];
printf(3X3행렬 A의 성분과 3X1행렬 B의 성분을 입력하시오.\n); //콘솔창출력
for(i=0; i3; i++) //행렬A 입력부분
{
for(j=0; j3; j++)
{
printf(A 행렬의 %d행 %d열의 값 : ,i+1,j+1);
scanf(%d,&A[i][j]);
}
}
C=(A[0][0]*A[1][1]*A[2][2]+A[1][0]*A[2][1]*A[0][2]+A[2][0]*A[0][1]*A[1][2])-(A[0][2]*A[1][1]*A[2][0]+A[0][1]*A[1][0]*A[2][2]+A[0][0]*A[1][2]*A[2][1]);
D[0][0]=1/C*(A[1][1]*A[2][2]-A[1][2]*A[2][1]);
D[0][1]=-1/C*(A[0][1]*A[2][2]-A[0][2]*A[2][1]);
D[0][2]=1/C*(A[0][1]*A[1][2]-A[0][2]*A[1][1]);
D[1][0]=-1/C*(A[1][0]*A[2][2]-A[1][2]*A[2][0]);
D[1][1]=1/C*(A[0][0]*A[2][2]-A[0][2]*A[2][0]);
D[1][2]=-1/C*(A[0][0]*A[1][2]-A[0][2]*A[1][0]);
D[2][0]=1/C*(A[1][0]*A[2][1]-A[1][1]*A[2][0]);
D[2][1]=-1/C*(A[0][0]*A[2][1]-A[0][1]*A[2][0]);
D[2][2]=1/C*(A[0][0]*A[1][1]-A[0][1]*A[1][0]);
for(i=0; i3; i++) //행렬B 입력부분
{
for(j=0; j1; j++)
{
printf(B 행렬의 %d행 %d열의 값 : ,i+1,j+1);
scanf(%d,&B[i][j]);
}
}
x=(D[0][0]*B[0][0])+(D[0][1]*B[1][0])+(D[0][2]*B[2][0]);
y=(D[1][0]*B[0][0])+(D[1][1]*B[1][0])+(D[1][2]*B[2][0]);
z=(D[2][0]*B[0][0])+(D[2][1]*B[1][0])+(D[2][2]*B[2][0]);
printf(행렬 A^-1와 행렬B의 곱은 다음과 같습니다.\n); //콘솔창출력
printf(A^-1B = %d\n %6d\n %6d\n,x,y,z); //콘솔창출력
}
문제는 AX=B 에서 X행렬이3x1행렬의 미지수 x,y,z입니다.
A는 3행 3열
2 1 3
1 2 2
4 2 5 이고
B는 3행 1열
1
2
3 입니다.
행렬 C는 행렬A의 Determinant이고
행렬 D는 행렬A의 역행렬입니다.(공식을이용해서 저렇게 표현했습니다).
그런데 이값들을 위프로그램을 컴파일하여 입력하면
A^-1B의 값이 0으로만뜹니다 ㅠㅠㅠ
도와주세요 어디가문제일까요
어떤분이 int부분을 double 이나 float으로 표현해주라고해서 그렇게햇더니 오류가납니다..
왜이러는걸까요...ㅜㅜ
-
아리알찬
행렬의 곱셈이라던지 역행렬을 구하는것들을 함수로 만드시면 훨씬 간단해져서 쉬워지실거같아요 ㅎㅎ
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2704497 | int double char 같은것좀 좀만 더 가르쳐 주세요 (6) | 로지 | 2025-08-10 |
2704473 | 구조체 배열 초기화 질문 | 꽃은별 | 2025-08-10 |
2704445 | 배열과 조건문에 관한질문 (3) | 찬솔큰 | 2025-08-10 |
2704417 | 이진 트리 깊이 값 구하는것 질문입니다. | 푸른잎 | 2025-08-10 |
2704391 | 자료 유형에 관련된 문제입니다. (2) | 늘솜 | 2025-08-09 |
2704365 | c언어 문제안되서물어봅니다 (3) | 맑은가람 | 2025-08-09 |
2704338 | 다항식의 뺄셈에 대해 질문드립니다... (1) | 여자 | 2025-08-09 |
2704311 | 센서를 이용한 라인 주행인데 명령어좀 알려주세요 ㅠ_ㅠ (3) | 초록이 | 2025-08-09 |
2704284 | 배열for문;; (3) | 은솜 | 2025-08-08 |
2704255 | readline(int fd, char *buf, int nbytes)함수를 구현하는법좀..ㅠㅠ | 파라나 | 2025-08-08 |
2704196 | 간단한 c언어좀 만들어주세요 (2) | 슬S2아 | 2025-08-08 |
2704118 | 성적에서 등수 구하기 (4) | 딥레드 | 2025-08-07 |
2704062 | 알고리즘 알려주세요 | 나리 | 2025-08-06 |
2704035 | 답은 나오는데 과정에서 `` 약간 이상합니다.ㅎㅎ 답만나와버려요 | 핫블랙 | 2025-08-06 |
2703979 | 문자열 EEPROM 작성 방법 문의드립니다. | 그녀는귀여웠다 | 2025-08-06 |
2703954 | 키보드를 입력하면 캐릭터를 움직이기 질문 (7) | 좋아해 | 2025-08-05 |
2703924 | 계속 에러가... (4) | 눈꽃 | 2025-08-05 |
2703897 | 배열의 최댓값과 최솟값 차이 구하기 (1) | 하늬 | 2025-08-05 |
2703869 | C언어 질문입니다 급해용!!! ㅠㅠ (2) | 덕이 | 2025-08-05 |
2703814 | C로 프로그램을 만들때 도스창 말고 다르게 만드는방법이 있을까요? (2) | 소심한여자 | 2025-08-04 |