답만보고 잘 이해가 안가서 설명좀 해주세요
안녕하세요.
우선 배열에 입력된 값에서 0을 찾습니다. 1 5 4 6 5 0이 입력되어 있다면 6번째에서 0을 찾았으므로 S는 6이됩니다.
괄호 2번에서 T = S - 1을 하는 것은 실제 데이터의 개수를 파악하기 위함입니다. 0을 제외한 나머지 데이터는 5이므로
T는 5가 저장됩니다.
S=1에 의해 S를 1로 초기화합니다.
이로 인해 S는 자료의 맨 앞(1)을, T는 자료의 맨 뒤(5) 위치를 가지게 됩니다.
이후는 자료의 중간 위치를 찾아서 서로 위치를 교환하는 과정입니다.
MID는 S와 T의 합을 2로 나눈 것으로 3이 산출되면 이로 인해 3이 중간 값임을 알 수 있습니다.
중간 값을 찾았으면 앞의 자료의 뒤의 자료를 서로 교환합니다.
교환될 때마다 앞 위치를 갖는 S는 1을 증가시키고, 뒤 위치를 갖는 T는 1을 감소시킵니다.
이런 과정을 반복하다 S가 중간값(MID)가 같아지면 교환이 끝난것이므로 값을 출력하고 종료합니다.
오늘도 즐거운 하루 되세요.
"-
*2012-07-05 09:49:49
안녕하세요.
우선 배열에 입력된 값에서 0을 찾습니다. 1 5 4 6 5 0이 입력되어 있다면 6번째에서 0을 찾았으므로 S는 6이됩니다.
괄호 2번에서 T = S - 1을 하는 것은 실제 데이터의 개수를 파악하기 위함입니다. 0을 제외한 나머지 데이터는 5이므로
T는 5가 저장됩니다.
S=1에 의해 S를 1로 초기화합니다.
이로 인해 S는 자료의 맨 앞(1)을, T는 자료의 맨 뒤(5) 위치를 가지게 됩니다.
이후는 자료의 중간 위치를 찾아서 서로 위치를 교환하는 과정입니다.
MID는 S와 T의 합을 2로 나눈 것으로 3이 산출되면 이로 인해 3이 중간 값임을 알 수 있습니다.
중간 값을 찾았으면 앞의 자료의 뒤의 자료를 서로 교환합니다.
교환될 때마다 앞 위치를 갖는 S는 1을 증가시키고, 뒤 위치를 갖는 T는 1을 감소시킵니다.
이런 과정을 반복하다 S가 중간값(MID)가 같아지면 교환이 끝난것이므로 값을 출력하고 종료합니다.
오늘도 즐거운 하루 되세요.
"