C언어 코드 부분 7번 동그라미 for 문에 조건식 부분에서
J 와 m+n 이 같지 않을때 까지라고 되어있는데
그러면 J는 시작부터 0인데 한번만 실행하고 바로 나오게 되지 않나요?
J와 m+n이 같을 때 까지 실행하는게 맞는 것 같은데
안녕하세요.
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-21 09:25:03
안녕하세요.
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이 됩니다.
이후 과정은 위 둘 의 과정이 반복됩니다.
즉 한 번은 왼쪽에서 오른쪽 방향으로 값을 저장하고
한 번은 오른쪽에서 왼쪽 방향으로 값을 저장하면서
ㄹ자 형태로 값을 저장하게 됩니다.
오늘도 즐거운 하루 되세요.