Menu



Manage

Study_C > 6-1.c Lines 48 | 1.3 KB
다운로드

                        #include <stdio.h>
#define SIZE 5									// 배열 크기 5로 지정

int main()
{
	int image[SIZE][SIZE] = {					// 10, 20, 30, 40, 50 이 연속되 들어가는 5*5 이미지판 배열 생성
		{10, 20, 30, 40, 50},
		{10, 20, 30, 40, 50},
		{10, 20, 30, 40, 50},
		{10, 20, 30, 40, 50},
		{10, 20, 30, 40, 50},
	};

	print_image(image);							// 이미지 출력 함수 호출
	brighten_image(image);						// 이미지 명도 상승 함수 호출
	print_image(image);							// 이미지 출력 함수 다시 호출
	
	return 0;
}

print_image(int image[SIZE][SIZE])				// 이미지 출력 함수
{
	int r = 0, c = 0;							// 변수 생성 및 초기화
	for (r = 0; r < SIZE; r++)					// 순차진행하기 위한 2차원배열 반복문
	{
		for (c = 0; c < SIZE; c++)
		{
			printf("%03d ", image[r][c]);		// 배열 안의 값을 3자리로 출력
		}
		printf("\n");							// 행 종료마다 줄 바꾸기
	}
	printf("\n");								// 전체 종료시 줄 바꾸기
}

brighten_image(int image[SIZE][SIZE])			// 명도 상승 함수
{
	int r = 0, c = 0;							// 변수 생성 및 초기화
	int* p;										// 포인터 p 생성
	p = &image[0][0];							// image배열의 값을 p에 입력
	for (r = 0; r < SIZE; r++)					// 순차진행하기 위한 2차원배열 반복문
	{
		for (c = 0; c < SIZE; c++)
		{
			*p += 10;							// 포인터에 정해진값에 10을 더하기
			p++;								// 다음 순서로 이동(다음 픽셀로 이동)
		}
	}
}