2차원 배열 2개 선언, 더하기 함수, 결과값 출력함수 작성하기.
적송
질문 제목 :
2차원 배열, 함수, 포인터를 이용하여 c언어로 프로그램 작성하기
2차원배열 2개 선언
각 순차별 더하기
결과값 출력
결과값출력 방식 : 함수 2개 사용
1. 더하기함수
2. 더한 결과를출력하는 함수
질문 내용 :
더하기 함수에서 더해진 결과값을
출력하는 함수로 값을 리턴, 혹은 반환하는 방법을 모르겠어요.
제가 작성한 것.
#includestdio.h
#includestdlib.h
void prn_sum(int (*)[4], int (*)[4], int **); // 더하기 함수 선언
void main()
{
int aa[3][4]={{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
}; //2차원 배열 1개 선언
int bb[3][4]={{12,11,10,9},
{8,7,6,5},
{4,3,2,1}
};
int *sum[3]; //값을 넣은 공간 선언
int (*x)[4]; //함수 포인터 배열 선언
int (*y)[4];
x=aa; //함수 포인터배열 주소를 넘김
y=bb;
sum[0] = (int *)malloc(4 * sizeof(int)); //동적 할당
sum[1] = (int *)malloc(4 * sizeof(int));
sum[2] = (int *)malloc(4 * sizeof(int));
prn_sum(x, y, sum); //함수 호출
}
void prn_sum(int (*x)[4], int (*y)[4], int **sum)
{
int i,j;
for(i=0;i3;i++)
for(j=0;j4;j++)
sum[i][j] = x[i][j] + y[i][j]; //2차원배열 값 더하기하기
for(i=0;i3;i++) // 출력하기(이 부분을 따로 함수로 어떻게 만드나요)
{
for(j=0;j4;j++)
printf(%5d, sum[i][j]);
printf(\n);
}
}