title: “2차원 배열 심화예제” categories:

  • C

    #2차원 배열 심화예제 : 네이버 블로그

2차원 배열을 쉽게 다룰 수 있다면 일정 규칙의 데이터를 다루기 쉬워진다

이번 포스팅은 2차원 예제의 심화 예제이다

일단 가벼운 예제로 시작하자

#include
void display(int image[8][16]) { //배열을 출력하는 함수
 for (int r = 0; r < 8; r++) {
 for (int c = 0; c < 16; c++)
 {
 if (image[r][c] == 0)
 printf("\*");
 else
 printf("\_");
 }
 printf("\n");
 }
}
void inverse(int img[8][16]) { //값을 반전시키는 함수
 for (int r = 0; r < 8; r++)
 {
 for (int c = 0; c < 16; c++) {
 if (img[r][c] == 0)
 img[r][c] = 1;
 else
 img[r][c] = 0;
 }
 }
}
int main() {
 int image[8][16];
 srand(time(NULL));
 for (int r = 0; r < 8; r++)
 {
 for (int c = 0; c < 16; c++) {
 image[r][c] = rand() % 2;
 }
 }
 printf("변환전 이미지\n");
 display(image);
 inverse(image);
 printf("\n\n변환후 이미지\n");
 display(image);
}

배열의 자료형은 바꿀 수 있다. 아래 예제를 보자

#include
int main() {
 char board[3][3]; //char형 배열 선언
 int x, y, i, k;
 for (x = 0; x < 3; x++)
 for (y = 0; y < 3; y++)
 board[x][y] = ' '; //모든 배열을 공백으로
 for (k = 0; k < 9; k++)
 {
 printf("(x y) 좌표 : ");
 scanf("%d%d", &x, &y);
 board[--x][--y] = (k % 2 == 0) ? 'x' : 'o'; 조건에 따라 배열에 'x'나 'o'문자가 들어간다
 for (i = 0; i < 3; i++)
 {
 printf("---!---!---\n");
 printf("%c | %c | %c \n", board[i][0], board[i][1], board[i][2]);
 }
 printf("---!---!---\n");
 }
}

char형으로 선언 후 문자를 넣을 수 있다.

업데이트: