2차원 배열 심화예제
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형으로 선언 후 문자를 넣을 수 있다.