C_C++

(C언어) 2차원배열 가로합 세로합 전체합 구하기

고니자니 2022. 10. 25. 18:33
반응형

#2차원 #배열 #가로합 #세로합 #전체합

 

[문제] 아래와 같은 모양의 2차원 배열에 값을 초기화하고, 가로의 합, 세로의 합, 전체 합을 구하여 출력하시오.

 

이 문제를 풀기 위해서는 아래와 같이 행과 열을 한 개씩 더 선언하고, 값을 0으로 초기화합니다.

그리고 배열 전체를 순회하면서 화살표 모양으로 값을 더해주면 됩니다.

완성된 C언어 코드는 다음과 같습니다.

#include <stdio.h>
int main()
{
	int i, j;
	int arr[4][4] = {
		{11, 22, 33, 0},
		{44,  5, 66, 0},
		{ 7, 88,999, 0},
		{ 0,  0,  0, 0 }
	};

	// 합 구하기
	for (i = 0; i < 3; i++)			// 행 개수
		for (j = 0; j < 3; j++)		// 열 개수
		{
			arr[i][3] += arr[i][j]; // 가로 합
			arr[3][j] += arr[i][j]; // 세로 합
			arr[3][3] += arr[i][j]; // 전체 합
		}

	for (i = 0; i < 4; i++)
	{
		for (j = 0; j < 4; j++)
			printf("%4d ", arr[i][j]);
		printf("\n");
	}
}

 

 

 

반응형