#include <stdio.h>
void sub_matrix(double* left, double* right, double* result, int n);
int main(void)
{
double left[3][3];
double right[3][3];
printf("Input first matrix:\n");
int x, y;
int n;
for (y=0; y<3; y++)
for(x=0; x<3; x++)
scanf("%d ", &left[y][x]);
for (y=0; y<3; y++)
for(x=0; x<3; x++)
scanf("%d ", &right[y][x]);
double result[3][3];
for(n=0; n<3; n++)
sub_matrix(left[][3], right[][3], result[][3], n);
for (y=0; y<3; y++)
{
for(x=0; x<3; x++)
{
printf("%d ", &right[y][x]);
}
printf("\n");
}
return 0;
}
void sub_matrix(double* left, double* right, double* result, int n)
{
*(result + n) = *(left + n) - *(right + n);
*(*(result + n) + 1) = *(*(left + n) + 1) - *(*(right + n)+1);
*(*(result + n) + 2) = *(*(left + n) + 2) - *(*(right + n)+2);
}
어디서 주워들은건 있어서 이차원 배열은 뒷 중괄호를 채워줘야 한다고 생각해서 요런식으로 작성했는데
어디서부터 잘못된걸까요?..
2차원 배열 3x3 (행렬)간의 뺄셈을 하려 합니다..
총체적 난국이네 ㅋ 뒷중괄호 채우라는 말은 함수 정의부의 파라미터부분을 말하는거고, 이중배열 받으려면 이중포인터를 써도 됨.
ㅠㅠ 한번 크게 고쳐보고 오겠습니다잉~~!!!
이것저것 시도해보며 또 배웠습니다~ 감사해용~
array decay rule 찾아보라니깐
글고 윗댓 이차원 배열 이중 포인터로 받아도 된다는건 걍 개 헛소리니까 무시하셈
ㅠㅠ 급한 문제라 하나하나 해보면서 고쳐보고있어요
미안. 이중포인터는 내가 잘못알았음.
헉~ 해결했다~~ 고마워요 다들!!
array decay rule은 책같은건가요?? 자료가 넘 많아서 몰겠어용
배열이랑 포인터 관계랑 관련된거임