어제 올렷던 알고리즘이 다시금 이해가 안가서 다시 올립니다,, 혼자서 반복문을 돌리면서 생각해봐도 이해가 잘 가지 않더라구요 3행 5열에는 1을 4행 2열,3열,4열에는 2,3,4를 3행 1열,2열,3열,4열,5열에는 5,6,7,8,9를 그리고 다시 2행 2,3,4열에는 10,11,12를 1행 3열에는 13을 찍고 끝나는 것은 알겟는데
⑦번 A(J, i) = K -> 행과 열의 위치가 바뀌어야 합니다. 바깥쪽 반복문이 열을 지정하고, 안쪽 반복문이 행을 지정하도록 해야 합니다.
안녕하세요.
어제 답변은 아래의 출력형태였는데 ..
5
2 6 10
1 3 7 11 13
4 8 12
9
지금 질문의 첨부파일을 보니 아래 형태내요.
9
12 8 4
13 11 7 3 1
10 6 2
5
위와 같이 하려면 역시 185쪽 순서도를 기준으로 설명하겠습니다.
바깥쪽 반복문(4번 동그라미)은 열을 지정하도록 하여 i = 5, 1, -1로 변경
안쪽 반복문(5번 동그라미)는 행을 지정하도록 하여 J = S, E, -1로 변경
배열에 값을 저장(7번 동그라미)하는 것은 A(J, i) = K로 변경
중간 행을 비교(8번 동그라미)하는 부분은 열이 5에서 1까지 -1씩 감소하므로 중간 열을 확인하기 위해 i <= 3으로 변경
YES이면 S = S - 1, E = E + 1
NO이면 S = S + 1, E = E - 1 로 변경
위와 같이 수정한 후 디버깅을 수행해 보세요.
오늘도 즐거운 하루 되세요.
나머지는 동일합니다.
오늘도 즐거운 하루 되세요.
-
*2015-02-27 09:59:12
안녕하세요.
어제 답변은 아래의 출력형태였는데 ..
5
2 6 10
1 3 7 11 13
4 8 12
9
지금 질문의 첨부파일을 보니 아래 형태내요.
9
12 8 4
13 11 7 3 1
10 6 2
5
위와 같이 하려면 역시 185쪽 순서도를 기준으로 설명하겠습니다.
바깥쪽 반복문(4번 동그라미)은 열을 지정하도록 하여 i = 5, 1, -1로 변경
안쪽 반복문(5번 동그라미)는 행을 지정하도록 하여 J = S, E, -1로 변경
배열에 값을 저장(7번 동그라미)하는 것은 A(J, i) = K로 변경
중간 행을 비교(8번 동그라미)하는 부분은 열이 5에서 1까지 -1씩 감소하므로 중간 열을 확인하기 위해 i <= 3으로 변경
YES이면 S = S - 1, E = E + 1
NO이면 S = S + 1, E = E - 1 로 변경
위와 같이 수정한 후 디버깅을 수행해 보세요.
오늘도 즐거운 하루 되세요.
나머지는 동일합니다.
오늘도 즐거운 하루 되세요.