배열포인터 실행값이 이상하게나오는데요..
꼬붕
질문 내용 :
문제가 두 행렬의 곱을 실행하는건데요..
5.2 2.1
4.2 4.3 3.8 x 3.2 1.4
3.7 1.5 0.71.5 3.6
#define ROWS 2
#define COLS 3
typedef int matrixA a[ROWS][COLS];
typedef int matirxB b[COLS][ROWS];
typedef int resultC r[ROWS][ROWS];
void multiply(resultC r, matrixA a , matrixB b);
void display(resultC r, int M);
int main(void)
{
matrixA a = {{4.2, 4.3, 3.8},{3.7, 1.5, 0.7}};
matrixB b ={{5.2, 2.1},{3.2, 1.4},{1.5, 3.6}};
resultC r = {0.0};
int i,j;
printf(곱할 두 행렬은 다음입니다.\n);
for(i=0; iROWS; i++){
for(j=0; jCOLS; j++){
printf(%4lf, a[i][j]);
}
printf(\n);
}
printf(\n);
display(b, COLS);
printf(위 두 행렬의 곱은 다음입니다.\n);
multiply(r, a, b);
display(r, ROWS);
getch();
return 0;
}
void multiply(resultCr , matrixA a, matrixB b) {
int i,j,k;
for(i=0; iROWS; i++){
for(j=0; jROWS; j++){
for(k=0; kCOLS; k++){
*(r[i]+j) += *(a[i]+k) * *(b[k]+j);
}
}
}
}
void display(resultC r, int M)
{
int i,j;
for(i=0; iM; i++){
for(j=0; jROWS; j++){
printf(%4lf, r[i][j]);
}
printf(\n);
}
printf(\n);
}---------------------------------------------------------------------------------------------
#define ROWS 2
#define COLS 3
void multiply(double (*resultC)[2],double (*matrixA)[3],double (*matrixB)[2]);
void display(double (*resultC)[2], int M);
int main(void)
{
double matrixA[][3]= {{4.2, 4.3, 3.8},{3.7, 1.5, 0.7}};
double matrixB[][2]= {{5.2, 2.1},{3.2, 1.4},{1.5, 3.6}};
double resultC[][2]= {0.0};
int i,j;
printf(곱할 두 행렬은 다음입니다.\n);
for(i=0; iROWS; i++){
for(j=0; jCOLS; j++){
printf(%4lf, matrixA[i][j]);
}
printf(\n);
}
printf(\n);
display(matrixB, COLS);
printf(위 두 행렬의 곱은 다음입니다.\n);
multiply(resultC, matrixA, matrixB);
display(resultC, ROWS);
getch();
return 0;
}
void multiply(double (*resultC)[2],double (*matrixA)[3],double (*matrixB)[2]) {
int i,j,k;
for(i=0; iROWS; i++){
for(j=0; jROWS; j++){
for(k=0; kCOLS; k++){
*(resultC[i]+j) += *(matrixA[i]+k) * *(matrixB[k]+j);
}
}
}
}
void display(double (*resultC)[2], int M)
{
int i,j;
for(i=0; iM; i++){
for(j=0; jROWS; j++){
printf(%4lf, resultC[i][j]);
}
printf(\n);
}
printf(\n);
}--------------------------
위에 문장은 제대로 실행이되는데
아래문장은 곱할결과값이 이상하게 나와요
차이점이 typedef 으로 정의했다는거 인데
제가 함수인자호출을 잘못한건가요 ..
왜 이상한값이 나오는지좀 알려주세요 설명도 부탁드려요..
답변부탁드립니다
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2699024 | C언어 공부하려는데 도와주세요!!! (2) | 달님 | 2025-06-22 |
2698994 | 날짜 계산하는 C 코드 짜고 있는데 꽉 막혀서 질문드립니다.. (6) | 별 | 2025-06-22 |
2698967 | 파일삭제 윈도우 폴더까지 접근하게하는 함수가 뭔가요 (2) | 샤인 | 2025-06-21 |
2698938 | c언어 메모리질문 (3) | 나래 | 2025-06-21 |
2698909 | 서비스 요청 고객 관리 프로그램 짜는것좀 도와주세요ㅜㅜ (4) | 궁수자리 | 2025-06-21 |
2698882 | 프로그래밍좀 짜주세요 (3) | 황예 | 2025-06-21 |
2698855 | 카프-라빈 알고리즘 코딩 분석좀 도와주세요.. | 꽃봄 | 2025-06-20 |
2698829 | 학점계산기 (7) | MyWay | 2025-06-20 |
2698782 | 기초적인 함수 질문이요ㅠㅠㅠㅠ | 내담 | 2025-06-20 |
2698749 | 프로그램 짜던 도중 패닉입니다...ㅜ | 파랑 | 2025-06-19 |
2698719 | 조건부컴파일 질문입니다.~ (2) | 큐트 | 2025-06-19 |
2698693 | 재귀 함수 에러 | 바닐라 | 2025-06-19 |
2698673 | 고민이있는데 들어좀주세요!! (1) | 초코맛캔디 | 2025-06-19 |
2698644 | 1부터 n까지의 합을 구하는데 엄청긴숫자의 합을 구할때는 어떻게 해야하나요? (4) | 슬우 | 2025-06-18 |
2698616 | 다른 함수로 안넘어갑니다..;;; | 도1도캣 | 2025-06-18 |
2698587 | 배열하다 막혀서... (3) | WhiteCat | 2025-06-18 |
2698559 | 문자열을 비우는방법 (2) | 하늘 | 2025-06-18 |
2698528 | 착하고 친절한 선생씌구해염~ㅋㅋ (4) | 옆집언니야 | 2025-06-17 |
2698502 | 자료구조 큐 | 캔서 | 2025-06-17 |
2698477 | 실행화면 배경문의요 | 선아 | 2025-06-17 |