아무리 생각해도 왜 틀렸는지 잘 모르겠습니다.
답변 꼭 좀 부탁드릴게요. 속터지겠네요...
2
-1 1
넣어보세요.
가장 간단한 예제도 안나오는데.....
어떤 논리를 가지고 알고리즘을 짜신건지 같이 적어주시면
답변을 하는데 더 쉬울것 같습니다.
??
넣으면 -1 1 이 출력되야 하는거 아닌가요?
설마 1만 출력되는건가요? 절대값을 출력하란 얘기는 없는데요?
-1 0 1
출력됩니다.
혹시 어떤 컴파일러 사용하시는지요
저는 그냥 visual studio 2013 환경에서 쓰고 있습니다.
아.. 그런데 출력이 그래야되는지는 몰랐어요.
거기다가 답변 보고나서 문제를 계속 읽어봤는데, .... 저만 이상한건가요?
오름차순으로만 출력하라고 했는데, 왜 중간에 0도 출력해야하는지 잘 모르겠습니다.
아무튼 답변 감사합니다.
제 말은 중간에 0이 섞여서 출력이 된다는 거였습니다.
@lian 님의 코드를 GNU 컴파일러 환경에서 돌려보면
출력이 [-1, 0, 1] 이 됩니다. 실제 출력은 [-1, 1] 이 되야되는데 말이죠.
배열을 절대 나올 수 없는 값으로 초기화 시키고 다시 제출해보세요.
아... 제가 초기화를 안해서 그렇군요.
제 환경에서는 0이 출력되지 않았거든요.
아무튼 감사합니다. ㅎ
일단.. 성공했는지 궁금해 하실수도 있으실거 같아서 글을 남기자면요...
또 틀렸다고 뜨는군요 ㅠ
memset()으로 전부 9999로 초기화 했는데... ㅠㅠ
일단 아예 컴파일러를 바꿔서 테스트 해보겠습니다.
저는 컴파일러에 따라서 결과가 다를 수도 있다는 걸 전혀 생각 못했었어요.
오늘도 하나 알아가네요.
memset으로 9999를 어떻게 초기화 하신거죠?
memset은 byte단위로 초기화 하기때문에 0~255의 숫자를 주셔야 합니다.
아 그래서 또 안됐던 거군요..;; - _-;;
ㅠㅠ 드디어 해결했습니다.
결국 초기화를 안했는데, 제 컴파일러에서는 별 문제가 없어서 몰랐던 거군요. (앞으로는 반드시 초기화!... 으읔)
그리고 memset이 0~255 숫자 범위인지 몰랐어요. 그 숫자 아니어도 아무 에러 안떠서... 그동안은 0으로 초기화 하는데만 써서 잘 몰랐거든요.
두분 다 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
lian 8년 전
아무리 생각해도 왜 틀렸는지 잘 모르겠습니다.
답변 꼭 좀 부탁드릴게요. 속터지겠네요...