출처 : 반크_세계무형유산 아리랑, 판소리
참고풀이]
//Dev-C++ 5.11로 작업함.
#include <stdio.h>
#include <windows.h>
#define HEIGHT 10
#define WIDTH 10
void gotoxy(int x, int y)
{
COORD Pos={x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);
}
void Menu();
void brighten_image(char *p, int w, int h);
void darken_image(char *p, int n);
void print_image(char *p, int w, int h);
int i;
int main()
{
int r,c;//반복변수
int chk;//밝게, 어둡게 선택변수
char image[HEIGHT * WIDTH]={
0,0,0,0,9,0,0,0,0,0,
0,0,0,9,9,0,0,0,0,0,
0,0,9,0,9,0,0,0,0,0,
0,0,0,0,8,0,0,0,0,0,
0,0,0,0,9,0,0,0,0,0,
0,0,0,0,7,0,0,0,0,0,
0,0,0,0,8,0,0,0,0,0,
0,0,0,0,9,0,0,0,0,0,
0,0,0,0,9,0,0,0,0,0,
0,0,6,6,9,7,7,0,0,0
};
gotoxy(0,6);
printf("원본 영상의 픽셀 밝기]\n");
print_image(image,WIDTH,HEIGHT);
while(1)
{
while(1)
{
Menu();
scanf("%d",&chk);
if(chk==0 || chk==1 || chk==2) break;
gotoxy(0,1);printf("0,1,2수만 입력하세요.");
gotoxy(0,2);printf("다시입력하세요...\n");
Sleep(2000);
}
if(chk==0) break;
switch(chk)
{
case 1:
gotoxy(0,6);
printf("원본 영상을 밝게합니다.\n");
brighten_image(image, WIDTH, HEIGHT);
print_image(image,WIDTH,HEIGHT);
break;
case 2:
gotoxy(0,6);
printf("원본 영상을 어둡게합니다.\n");
darken_image(image, WIDTH*HEIGHT);
print_image(image,WIDTH,HEIGHT);
}
}
gotoxy(0,18);printf("수고하셨습니다.\n");
return 0;
}
void brighten_image(char *p, int w, int h)
{
for(i=0;i<w*h;i++)
if(p[i]<=9 && p[i]>0)
p[i]--;
}
void darken_image(char *p, int n)
{
for(i=0;i<n;i++)
if(p[i]<9 && p[i]>=0)
p[i]++;
}
void print_image(char *p, int w, int h)
{
for(i=0;i<w*h;i++)
{
printf("%2d",p[i]);
if((i+1)%10==0) printf("\n");
}
}
void Menu()
{
gotoxy(0,0);
printf(" 영상을 밝 게 : 1\n");
printf(" 영상을 어둡게 : 2\n");
printf(" 작 업 종 료 : 0\n");
printf("======================\n");
printf("번호를 선택하세요 : ");
}
참고풀이 결과]
메뉴와 원본영상)
밝기를 두번 진행 했을 때)
어둡게를 두번 진행 했을 때)
작업을 끝냈을 때)
번호를 잘 못 입력했을 때)
대한민국의 아름다운 영토, 독도의 겨울
'프로그램 > C언어 1000제' 카테고리의 다른 글
C언어 78제] C언어 콘서트 CHAPTER 10 p385 도전문제 2 벽에 닿으면 실패하는 게임으로 바꿔보자 (0) | 2021.12.28 |
---|---|
C언어 77제] C언어 콘서트 CHAPTER 10 p385 도전문제1 화살표 키 입력받기 (0) | 2021.12.28 |
C언어 75제] C언어 콘서트 CHAPTER 9 Programming 5 간단한 영상처리 프로그램 p371 (0) | 2021.12.27 |
C언어 74제] C언어 콘서트 CHAPTER 9 Programming 4 실수 3.14를 정수부와 실수부로 나누기 p371 (0) | 2021.12.23 |
C언어 73제] C언어 콘서트 CHAPTER 9 Programming 3 포인터로 2차방정식의 근 구하기 p370 (0) | 2021.12.23 |
댓글