순서도 보면 j=L,M,N으로 된것까지는 이해하겠는데 그거를 C언어로 바꿔서
J!=m+n;j+=n으로 하는 이유를 잘모르겠어요 그냥 순서도 처럼 사용하면 안되나요??
그리고 저게 책에 설명이 되어있지만 어떻게해서 한번은 0~4까지 한번은 4~0까지 되는지 이해가 잘 안되요
쉽게 좀 알려주세요
안녕하세요.
k는 0, L은 0을 초기값으로 갖습니다.
m은 4, n는 1을 초기값으로 갖습니다.
바깥쪽 for문에 의해 i는 0부터 시작합니다.
안쪽 for문에 의해 j는 L부터, 즉 0부터 m+n, 즉 5가 아닐 때까지 n씩, 즉 1씩 증가합니다.
그러면서 k를 1씩 증가하면서 행, 열에 값을 저장합니다.
그러므로 i가 0일 때 j는 0, 1, 2, 3, 4로 증가하므로
0행 0열에 1
0행 1열에 2
0행 2열에 3
0행 3열에 4
0행 4열에 5
j가 5가 되면 안쪽 반복문이 완료되며
p = L
L = m
m = p
에 의해 L과 m의 값을 변경합니다.
L은 4가 되고 m은 0이 됩니다.
n *= -1에 의해 n는 -1이 됩니다.
이제 바깥쪽 반복문을 만나 i는 1이 되어 다시 안쪽 반복문을 수행합니다.
안쪽 반복문은 j는 L부터, 즉 4부터, m+n, 즉 -1이 아닐 때까지 n씩, 즉 -1씩 증가합니다.
그러면서 k를 1씩 증가하면서 행, 열에 값을 저장합니다.
그러므로 i가 1일 때 j는 4, 3, 2, 1, 0으로 증가하므로
1행 4열에 6
1행 3열에 7
1행 2열에 8
1행 1열에 9
1행 0열에 10
j가 -1이 되면 안쪽 반복문이 완료되며
p = L
L = m
m = p
에 의해 L과 m의 값을 변경합니다.
L은 0이 되고 m은 4가 됩니다.
n *= -1에 의해 n는 1이 됩니다.
이후 과정은 위 둘 의 과정이 반복됩니다.
즉 한 번은 왼쪽에서 오른쪽 방향으로 값을 저장하고
한 번은 오른쪽에서 왼쪽 방향으로 값을 저장하면서
ㄹ자 형태로 값을 저장하게 됩니다.
오늘도 즐거운 하루 되세요.
-
*2018-06-14 09:42:30
안녕하세요.
k는 0, L은 0을 초기값으로 갖습니다.
m은 4, n는 1을 초기값으로 갖습니다.
바깥쪽 for문에 의해 i는 0부터 시작합니다.
안쪽 for문에 의해 j는 L부터, 즉 0부터 m+n, 즉 5가 아닐 때까지 n씩, 즉 1씩 증가합니다.
그러면서 k를 1씩 증가하면서 행, 열에 값을 저장합니다.
그러므로 i가 0일 때 j는 0, 1, 2, 3, 4로 증가하므로
0행 0열에 1
0행 1열에 2
0행 2열에 3
0행 3열에 4
0행 4열에 5
j가 5가 되면 안쪽 반복문이 완료되며
p = L
L = m
m = p
에 의해 L과 m의 값을 변경합니다.
L은 4가 되고 m은 0이 됩니다.
n *= -1에 의해 n는 -1이 됩니다.
이제 바깥쪽 반복문을 만나 i는 1이 되어 다시 안쪽 반복문을 수행합니다.
안쪽 반복문은 j는 L부터, 즉 4부터, m+n, 즉 -1이 아닐 때까지 n씩, 즉 -1씩 증가합니다.
그러면서 k를 1씩 증가하면서 행, 열에 값을 저장합니다.
그러므로 i가 1일 때 j는 4, 3, 2, 1, 0으로 증가하므로
1행 4열에 6
1행 3열에 7
1행 2열에 8
1행 1열에 9
1행 0열에 10
j가 -1이 되면 안쪽 반복문이 완료되며
p = L
L = m
m = p
에 의해 L과 m의 값을 변경합니다.
L은 0이 되고 m은 4가 됩니다.
n *= -1에 의해 n는 1이 됩니다.
이후 과정은 위 둘 의 과정이 반복됩니다.
즉 한 번은 왼쪽에서 오른쪽 방향으로 값을 저장하고
한 번은 오른쪽에서 왼쪽 방향으로 값을 저장하면서
ㄹ자 형태로 값을 저장하게 됩니다.
오늘도 즐거운 하루 되세요.