안녕하세요.
정보처리기사 실기 문제를 풀면서 문제 혹은 정답이 잘못된것 같아 문의 드립니다.
해당 순서도(Flow Chart)를 참조하여 코딩하고 결과를 확인하였습니다.
기존 책에서는 정답을
1. H
2. Q[L][Y]
3. P[L][Y]
제가 생각한 답
1. H
2. Q[H][6-Y]
3. P[H][6-Y]
확인 부탁드리겠습니다.
첨부파일로 제가 작성한 소스코드와 사진 파일 올립니다.
소스코드
-----------------------
#include
int main(void) {
int X,Y,H,L;
int P[5][5] , Q[5][5];
H = 0;
L = 0;
// array setting.
for (X = 1 ; X <= 5 ; X++)
{
for (Y = 1 ; Y <= 5 ; Y++)
{
H+=2;
P[X][Y] = H;
}
}
// change 90 degree. 2times.
for (X = 2 ; X >= 1 ; X-)
{
for (Y = 1 ; Y <= 5 ; Y++)
{
for (H = 1 ; H <= 5 ; H++)
{
L = 6 - H;
if (X == 2)
{
Q[Y][H] = P[H][6-Y];
}
else
{
P[Y][H] = Q[H][6-Y];
}
}
}
}
// Print array value
for (int i= 1 ; i<= 5 ; i++)
{
for (int j = 1 ; j<= 5 ; j++)
{
printf("%d " , P[i][j]);
}
printf("\n");
}
return 0;
}
안녕하세요.
C언어로 코딩할 경우 배열의 위치가 0부터 시작이므로 이를 감안하고 코딩을 해야 합니다.
이를 감아하고 질문주신 코드를 수행해 보니 아래 그림과 같이
오른쪽으로 90도씩 회전하는 것이 아니라 왼쪽으로 90도씩 회전하는 형태로 구현이 되고 있습니다.
오늘도 즐거운 하루 되세요.
-
*2018-03-26 13:18:02
안녕하세요.
C언어로 코딩할 경우 배열의 위치가 0부터 시작이므로 이를 감안하고 코딩을 해야 합니다.
이를 감아하고 질문주신 코드를 수행해 보니 아래 그림과 같이
오른쪽으로 90도씩 회전하는 것이 아니라 왼쪽으로 90도씩 회전하는 형태로 구현이 되고 있습니다.
오늘도 즐거운 하루 되세요.