실기는 아니구요. 필기시험 문제였는데요.
이번 2011년 정기 기사 2회 필기시험때 본거엿는데요.
3. 다음 자료를 버블 정렬을 이용하여 오름차순 정렬 하고자 할 경우 1회전 후의 결과는 ?
" 9 , 4 , 5 , 1 , 3 "
답은 " 나: 1,3,4,5,9 "
가 나오던데.;;;
1,3,4,5,9 가 어떻게 나오죠..?
제가 실기책 보면서 버블정렬 해보니까 1회전까지 했을땐 분명 처음엔..
4,5,1,3,9 이렇게 나왔는데;;;
실기책을 아무리봐도 처음에 1회전 할때 요령을 보고 따라해보면 아무리봐도 결과는 이렇게 나와요.
어떻게 1,3,4,5,9 가 나올 수가 있는거죠??
----------------------------------------------------------------------------------------
저번에 질문드렸던 보수부분 알고리즘 에서요.
제일 이해안가던 페이지가 90페이지 였는데요.
제가 막혔던 부분은 " B2(i) = B2(i) MOD(2) " 여기였습니다.
제가 직접했던 알고리즘 디버깅 했던 과정을 보여드리겠습니다. (90페이지)
i c A B1 B2
0 1 ( 0 1 1 0 0) ( 1 0 0 1 1) ( 1 2 2)
1 1 0 0
2 1
3
4
5
4
3
여기까지 했습니다. 책에 보면 마름모모양의 i=0 에서 No로 3번째 분기를 돌았을때,
B2(i) = B1(i)+c 에 따라 저 위에 B2괄호에 3번째 자리에 "1" 을 넣었습니다.
그리고 " B2(i) = B2(i) MOD(2) " 이 명령에 따라 B2의 3번째는 B2의 3번째와 2를 나눈 나머지를 넣으라고
되어 있는데요.
여기에서 질문!!!!
B2의 3번째자리가 1인데 "1에서 2로 어떻게 나눕니까..?" 나누기가 안되는데요..?
MOD가 나머지를 구하는 함수라는 건 아는데.. 1을 2로 어떻게나눠요..;;;
그러면 나머지가 어떻게 나와요;; 나누질 못하는데;;;
이것때문에 세네번을 디버깅을 돌려도 아무리해도 안되더라고요;;
(이 알고리즘 하나때문에 엄청 꼴받앗었다는... 꼭 해결좀 부탁드립니다.)
안녕하세요.
1)
9, 4, 5, 1, 3을 1회전 한 결과는
답은 가번 4, 5, 1, 3, 9입니다.
다시한번 확인해 보세요.
2)
자신보다 작은 수를 나눌때는 몫은 0이되고 나머지는 피젯수가 그대로 산출됩니다.
즉 1/2는 몫이 0, 나머지는 1이 되는 것이죠.
엑셀에서 나머지를 구하는 MOD 함수를 이용해 =MOD(1,2)를 해보세요.
오늘도 즐거운 하루 되세요.
"-
*2011-12-01 09:17:34
안녕하세요.
1)
9, 4, 5, 1, 3을 1회전 한 결과는
답은 가번 4, 5, 1, 3, 9입니다.
다시한번 확인해 보세요.
2)
자신보다 작은 수를 나눌때는 몫은 0이되고 나머지는 피젯수가 그대로 산출됩니다.
즉 1/2는 몫이 0, 나머지는 1이 되는 것이죠.
엑셀에서 나머지를 구하는 MOD 함수를 이용해 =MOD(1,2)를 해보세요.
오늘도 즐거운 하루 되세요.
"