728x90
이전 글에서는 2차원 배열을 선언하고 초기화하는 방법을 배웠습니다.
이번에는 이를 실제로 활용하는 방법에 대해 알아보겠습니다.
2차원 배열은 반복문을 중첩해서 사용하면 훨씬 쉽게 입력, 출력, 연산 등을 처리할 수 있습니다.
● 2차원 배열에 값 입력하기
int matrix[2][3];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("[%d][%d] 값 입력: ", i, j);
scanf("%d", &matrix[i][j]);
}
}
중첩 for문을 사용하여 행(row)과 열(col)을 기준으로 입력을 받습니다.
● 2차원 배열 값 출력하기
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
행 단위로 한 줄씩 출력하면 표처럼 데이터를 정렬해서 볼 수 있습니다.
● 전체 합계 구하기
int sum = 0;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
sum += matrix[i][j];
}
}
printf("총합: %d\n", sum);
모든 요소를 순회하면서 누적합을 구할 수 있습니다.
● 활용 예: 성적표 출력
int scores[2][3] = {
{90, 85, 80},
{88, 92, 76}
};
for (int i = 0; i < 2; i++) {
printf("%d번 학생: ", i + 1);
for (int j = 0; j < 3; j++) {
printf("%d ", scores[i][j]);
}
printf("\n");
}
행은 학생, 열은 과목으로 생각하면, 성적표처럼 데이터를 출력할 수 있습니다.
2차원 배열은 표 형태의 데이터를 반복문과 함께 다룰 수 있어 매우 실용적입니다.
반복 구조를 잘 활용하면 입력, 출력, 연산까지 쉽게 처리할 수 있습니다.
● 실습 문제
문제 1
2행 3열의 배열을 입력받고, 입력된 값을 모두 출력하세요.
문제 2
입력받은 2차원 배열의 모든 값의 총합을 구해 출력하세요.
문제 3
각 행의 합을 따로 구해서 출력하세요.
문제 4
3행 2열 배열을 선언하고, 1부터 6까지 순서대로 채워서 출력하세요.
문제 5
2차원 배열을 성적표처럼 활용하는 예시를 작성하세요.
▶ 정답 확인하기
정답 1
int arr[2][3];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &arr[i][j]);
}
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
정답 2
int sum = 0;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
sum += arr[i][j];
}
}
printf("총합: %d\n", sum);
정답 3
for (int i = 0; i < 2; i++) {
int row_sum = 0;
for (int j = 0; j < 3; j++) {
row_sum += arr[i][j];
}
printf("%d행 합: %d\n", i, row_sum);
}
정답 4
int num = 1;
int arr[3][2];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
arr[i][j] = num++;
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
정답 5
int scores[2][3] = {
{100, 90, 80},
{95, 85, 75}
};
for (int i = 0; i < 2; i++) {
printf("%d번 학생: ", i + 1);
for (int j = 0; j < 3; j++) {
printf("%d ", scores[i][j]);
}
printf("\n");
}
반응형
'프로그래밍언어 > C언어[초급]' 카테고리의 다른 글
[C언어][초급] Chapter44. 문자열 배열 – 여러 개의 문자열을 한 번에 저장하는 방법 (0) | 2025.04.18 |
---|---|
[C언어][초급] Chapter43. 문자열의 개념 – 문자의 집합을 다루는 기초 이해하기 (0) | 2025.04.18 |
[C언어][초급] Chapter41. 2차원 배열 선언과 초기화 – 행과 열로 구성된 데이터 저장 방식 (0) | 2025.04.18 |
[C언어][초급] Chapter40. 1차원 배열의 활용 – 반복문과 함께 사용하는 배열 예제 (0) | 2025.04.18 |
[C언어][초급] Chapter39. 1차원 배열 선언과 초기화 – 배열을 만드는 기본 문법 익히기 (1) | 2025.04.18 |