cjw0672   1년 전

뭘 틀렸다는거죠? 잘만 맞는데 

alice   1년 전

int num;
 scanf("%d",&num);
 int i;
 int N = 3; // 3번째 큰 수 출력
 int Arr[num];
 int total[num];

num을 입력받고 저런 식으로 Arr[num], total[num] 배열을 생성하는 건 잘못된 방식입니다. 동적할당을 검색해주세요

plzrun   1년 전

일단 배열은 항상 10개가 들어와야하는데, Arr[num]이라고 쓴거부터 틀렸습니다.
이 부분만 고치면 맞긴하는데, 코드를 보니 모르는게 너무 많으시네요.
그냥 지나갈까 하다가 말투마저 건방져보여 적어봅니다.

qsort함수는 아무도 안써요.
sort쓰세요.

그리고 cmp함수 누가 저렇게 짭니까.
인트밖에 없는거 void pointer는 왜??

그리고 total이란 변수 선언해서 따로 입력 다 받은다음에 나중에 다 출력하는거 보니
standard input/ output 개념이 없으신거 같습니다.

입출력 버퍼는 따로 존재하기 때문에, 콘솔상에 찍히는 입력과 출력순서는 저지 프로그램이 체크하는데 아무런 영향을 주지 않습니다. 그러니까 답 나오면 total에 저장할 필요없이 바로바로 출력하시면 됩니다.

이런식으로 답변받지 않으시려면
질문을 저런식으로 올리지 마세요.

unused   1년 전

@alice 비록 이 문제에서 num만큼의 크기를 가진 배열을 잡으면 안 되는 건 맞는데요, C99부터 variadic length array가 들어왔기 때문에 문법이 틀린 것은 아닙니다.

ntopia   1년 전

C++ 이 아니고 C 이기 때문에 qsort 를 쓴거겠죠....

너무 뭐라고 하지 마세요 ㅠㅠ

ntopia   1년 전

그리고 qsort 의 comparer는 void*를 인자로 받습니다 저것도 딱히 잘못한건 아니에요

unused   1년 전

@plzrun 그쪽 말투도 좋아보이진 않네요. 맘에 안 드시면 걍 답변 안 달아주시면 되는 거 아닌가요? 그리고 왜 모든 사람이 C++을 쓴다고 가정하시나요? C를 쓰면 qsort를 쓸 수도 있는 거 아닌가요?

답변을 해 줄 땐 최소한 잘난척은 하지 맙시다.

cjw0672   1년 전

plzrun 아 출력 바로 바로 해도 안틀리나보네요 ?? 저 이거한지 얼마안되서 몰랐네요. 다시해봐야겠네요. 그리고 제 코드에서

Arr[num] 이라고 적어서 틀린거였네요. 코드가 잘못 적혀있었네요 10이라고 적었던것 같은데. 그당시에 발견을 못한 제 잘못이긴한데

듣고 보니 너무 따지듯이 말하시네요. 제가 적은 것 중에 C스타일로 했을 때 원래 저런식으로 qsort를 쓰고 void* 로 받아서 형변환 시켜서

정렬하는것 맞구요. 그리고 동적배열 안되는거 언제적 이야기인지.. 구세대 십니까??


unused   1년 전

@cjw0672 질문자님도 질문하는 태도를 다듬으셨으면 합니다. 이러이러하게 짰는데 왜 안될까요?처럼 말을 예의바르게 할 수도 있는 걸 잘만 된다뇨 ㅋㅋㅋㅋ 틀렸으면 잘 못 짰으니까 틀렸겠죠

cjw0672   1년 전

unused ㅋㅋㅋ 죄송합니다. 생각해보니 약간 무례하게 들릴 것 같네요 ㅋㅋ 감사합니다.

plzrun   1년 전

코드 설명을 해야할만한 문제는 아니지만
다 짤라놓고 맞는데 왜 틀리냐는 식의 질문..
저렇게 한 줄 띄워놓고 코드 하나 붙여놓는 질문은
제가 올린식의 예의없는 답변이랑 다를게 없다는 얘기를 하고 싶었습니다.

그냥 슬렉있다가 질문글 있어서 눌러봤는데, 또 저런글이 있길래 한번 얘기해봤습니다.
저만 분노조절 장애인가요? 다들 저런 글들 보면 한마디씩 하고 싶지 않으신가요?
누군가는 나서서 얘기해야 저런일도 없어진다고 생각합니다.

질문자가 됐든 그냥 지나가던 분들이든, 누구나 제 글에 기분 나쁘실텐데 그 점은 사과드립니다.
질문자님의 글을 보고 기분이 나빴지만 그에 대해 제가 대처하는 방식이 잘못됐었네요.

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