반응형
SMALL

학습목표

1. 배열을 선언하고 초기화할 수 있다.

2. 배열의 요소를 참조할 수 있다.

3. 배열과 기억공간의 표현을 이해할 수 있다.

4. char형 배열을 이해할 수 있다.

 

주요용어

배열 : 동일한 자료형의 값들이 순서들

 

6.1.2. 다차원 배열

 

(1) 2차원 배열

- 형식 : 자료형 배열명 [ 행의 수 ] [ 열의 수 ]

- 사용 예 : int a[3][4];

- 의미 : 배열명이 a 이고 3행 4열로 된 12개의 요소를 가진 정수형 배열이다.

2차원 배열의 선언과 초기화

int array[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

int array[3][3] = {{ 1, 2, 3}, {4, 5, 6}, {7, 8, 9 }};

int array[3][3] = {{ 1, 2, 3},

                     {4, 5, 6},

                     {7, 8, 9 }};

 

**2차원 배열의 기억공간 표현

#include <stdio.h>
void main(){
static int score[4][3] = {{90, 90, 90}, {80, 80, 80}, {70, 70, 70}, {60, 60, 60}};
// 2차원 배열 선언과 초기화
int sum, i, j;
printf("번호\t국어\t수학\t영어\t합계 \n");

for(i=0; i<4; ++i){ 
sum = 0; 
printf("%3d", i +1); 

for(j=0; j <3; j++){ 
printf("\t%3d", score[i][j]); 
sum += score[i][j]; 
} 
printf("\t%3d \n", sum); } }

 

 

(2) 3차원 배열 

- 형식 : 자료형 배열명 [면의 수] [행의 수] [ 열의 수]

- 사용 예 : int a [2][3][4]

- 의미 : 3차원 배열로서, 배열명은 a이고 
          2면 3행 4열로된 24개의 요소를 가진 정수형 배열

 

** 3차원 배열 초기화와 기억공간 표현

int a[2][3][4] = { { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }, { {13, 14, 15, 16}, {17, 18, 19, 20}, {21, 22, 23, 24} } }

#include <stdio.h>
void main(){
int score[3][3][3]; // 3개 반의 학생 3명 3과목 성적을 체크
int sum[3] = { 0 }; // 국어, 수학, 영어 합계 
int a, b, c, d, e, f;
for(c = 0; c < 3; c++){
for(b=0; b < 3; b++){ //학생별 국어, 수학, 영어 점수 입력받음 
printf("%d반 %d번 학생의 국어, 수학, 영어 점수 : ", c+1, b+1) ;
scanf("%d %d %d", &score[c][b][0], &score[c][b][1], &score[c][b][2]);  }

printf("\n");  } 
for(e=0; e <3; e++){ 
for(d=0; d <3; d++){ 
for(f=0; f <3; f++){ 
sum[f] += score[e][d][f];   }    }    } // 과목별 총 합계를 구함 
printf("전체반 9명의 국어 총점 : %d, 평균 : %d \n", sum[0], sum[0] / 9); 
printf("전체반 9명의 수학 총점 : %d, 평균 : %d \n", sum[1], sum[1] / 9); 
printf("전체반 9명의 영어 총점 : %d, 평균 : %d \n", sum[2], sum[2] / 9); }

 

 

반응형
LIST

+ Recent posts