lian   8년 전

아무리 생각해도 왜 틀렸는지 잘 모르겠습니다.

답변 꼭 좀 부탁드릴게요. 속터지겠네요...

kesakiyo   8년 전

2

-1 1

넣어보세요.

가장 간단한 예제도 안나오는데.....

kesakiyo   8년 전

어떤 논리를 가지고 알고리즘을 짜신건지 같이 적어주시면

답변을 하는데 더 쉬울것 같습니다.

lian   8년 전

??


2

-1 1

넣으면 -1 1 이 출력되야 하는거 아닌가요?

설마 1만 출력되는건가요? 절대값을 출력하란 얘기는 없는데요?

kesakiyo   8년 전

-1 0 1

출력됩니다.

혹시 어떤 컴파일러 사용하시는지요

lian   8년 전

저는 그냥 visual studio 2013 환경에서 쓰고 있습니다.

아.. 그런데 출력이 그래야되는지는 몰랐어요.

거기다가 답변 보고나서 문제를 계속 읽어봤는데, .... 저만 이상한건가요?

오름차순으로만 출력하라고 했는데, 왜 중간에 0도 출력해야하는지 잘 모르겠습니다.

아무튼 답변 감사합니다.

kesakiyo   8년 전

제 말은 중간에 0이 섞여서 출력이 된다는 거였습니다.

@lian 님의 코드를 GNU 컴파일러 환경에서 돌려보면

출력이 [-1, 0, 1] 이 됩니다. 실제 출력은 [-1, 1] 이 되야되는데 말이죠.

배열을 절대 나올 수 없는 값으로 초기화 시키고 다시 제출해보세요.

lian   8년 전

아... 제가 초기화를 안해서 그렇군요.

제 환경에서는 0이 출력되지 않았거든요.


아무튼 감사합니다. ㅎ

lian   8년 전

일단.. 성공했는지 궁금해 하실수도 있으실거 같아서 글을 남기자면요...

또 틀렸다고 뜨는군요 ㅠ

memset()으로 전부 9999로 초기화 했는데... ㅠㅠ

일단 아예 컴파일러를 바꿔서 테스트 해보겠습니다.

저는 컴파일러에 따라서 결과가 다를 수도 있다는 걸 전혀 생각 못했었어요.

오늘도 하나 알아가네요.

yukariko   8년 전

memset으로 9999를 어떻게 초기화 하신거죠?

memset은 byte단위로 초기화 하기때문에 0~255의 숫자를 주셔야 합니다.

lian   8년 전

아 그래서 또 안됐던 거군요..;; - _-;;


lian   8년 전

ㅠㅠ 드디어 해결했습니다.

결국 초기화를 안했는데, 제 컴파일러에서는 별 문제가 없어서 몰랐던 거군요. (앞으로는 반드시 초기화!... 으읔)

그리고 memset이 0~255 숫자 범위인지 몰랐어요. 그 숫자 아니어도 아무 에러 안떠서... 그동안은 0으로 초기화 하는데만 써서 잘 몰랐거든요.

두분 다 감사합니다.

댓글을 작성하려면 로그인해야 합니다.