반응형
배열
형식이 같은 자료 여러개가 모여 새로운 하나를 이룬 것
ex) int형 자료(즉, 배열의 자료형은 배열의 원소의 자료형) 5개가 모여 int형 배열이 된 것
배열의 이름은 변수의 이름이 아니라 메모리의 주소
3차원 배열
여러개의 2차원 배열 초기화 리스트가 모여있는 형태
int arr1[2][3][4]; // 높이 2, 세로 3, 가로 4인 int형 3차원 배열
3개의 학급에 각각 3명의 학생이 2개의 과목 시험을 치뤘다
각 학급마다 총 과목점수의 평균을 구하는 프로그래밍
#include <stdio.h>
#include <stdlib.h>
int main()
{
int mean = 0, i, j;
int record[3][3][2] = { // 학급 수, 학생 수, 과목 수 ★개수이다★ 배열 선언 동시에 초기화
{
{70, 80}, //A학급 학생 1의 성적
{60, 90}, //A학급 학생 2의 성적
{100, 40} //A학급 학생 3의 성적
},
{
{90, 80}, //B학급 학생 1의 성적
{20, 70}, //B학급 학생 2의 성적
{30, 20} //B학급 학생 3의 성적
},
{
{88, 88}, //C학급 학생 1의 성적
{77, 77}, //C학급 학생 2의 성적
{100, 100}, //C학급 학생 3의 성적
}
};
for(i=0; i<3; i++){
for(j=0; j<2; j++)
mean += record[0][i][j];
}
printf("A학급 전체 평균: %g \n", (double)mean/6);
mean = 0; //평균 다시 초기화
for(i=0; i<3; i++){
for(j=0; j<2; j++)
mean += record[1][i][j];
}
printf("B학급 전체 평균: %g \n", (double)mean/6);
mean = 0; //평균 다시 초기화
for(i=0; i<3; i++){
for(j=0; j<2; j++)
mean += record[2][i][j];
}
printf("C학급 전체 평균: %g \n", (double)mean/6);
return 0;
}
1부터 정수를 원소로 갖는 3행 4열의 2차원 배열, 마지막 열에는 모든 행의 합을 더해 출력하라
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
int aList[3][4] = {0}; //배열은 항상 초기화 해야 함
int i=0, j=0, counter = 0, sum = 0;
for (i=0; i<3; i++){
for(j=0; j<4; j++){
while(j!=3){ //j가 3이 아닐 때만 counter 추가
aList[i][j] = ++counter;
sum += counter;
break;
}
if(j==3){ //3열에는 counter의 합
aList[i][j] = sum;
}
}
sum = 0; //행이 바뀔 때마다 합 초기화
}
for(i=0; i<3; i++){
for(j=0; j<4; j++){
printf("%d\t", aList[i][j]);
}
printf("\n");
}
return 0;
}
결과
1 2 3 6
4 5 6 15
7 8 9 24
반응형
'자바 Java' 카테고리의 다른 글
선행처리 (0) | 2019.10.06 |
---|---|
다중 포인터 (0) | 2019.10.06 |
c언어의 메모리 구조 (0) | 2019.10.05 |
typedef (0) | 2019.10.05 |
main method가 있는 class와 object를 생성하는 class와의 관계 (0) | 2019.10.02 |
댓글