본문 바로가기
C

이차원 배열 인수전달

by KWONE 2024. 5. 27.
#include <stdio.h> 
double sum(double data[][3], int, int);
void printarray(double data[][3], int rowsize, int colsize);


int main()
{
	int i = 0;
	double x[][3] = { {1,2,3},{7,8,9},{4,5,6}, {10,11,12} };
	int rowsize = sizeof(x) / sizeof(x[0]);
	int colsize = sizeof(x[0]) / sizeof(x[0][0]);

	printf("2차원배열의자료값은다음과같습니다.\n");
	printarray(x, rowsize, colsize);
	printf("2차원배열원소합은%.3lf 입니다.\n",sum(x,rowsize,colsize));

	return 0;

}

double sum(double data[][3], int rowsize, int colsize)
{
	int i, j;
	double total = 0;

	for (i = 0;i < rowsize;i++) {
		for (j = 0;j < colsize;j++) {
			total += data[i][j];
		}
	}
	return total;
}

void printarray(double data[][3], int rowsize, int colsize)
{
	int i, j;
	for (i = 0;i < rowsize;i++) {
		printf("%d행 원소: ", i+1);
		for (j = 0;j < colsize;j++) {
			printf(" x[%d][%d]=%5.2lf ", i, j, data[i][j]);
		}
		printf("\n");
	}
	printf("\n");
}

아래의 이차원배열에서의 행과 열의 원소 개수를 나타내는 식을 반드시 외워둬야좋음

rowsize=sizeof(x)/sizeof(x[0]);

colsize=sizeof(x[0])/sizeof(x[0][0]);

'C' 카테고리의 다른 글

문자열 배열 연습1  (0) 2024.05.28
문자열 배열 출력  (0) 2024.05.28
두 점 사이의 거리 구하는 함수  (0) 2024.05.26
함수 연습  (0) 2024.05.26
소문자 -> 대문자 변경 함수  (0) 2024.05.26