:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
11/03/23 22:18
arr[0] ~ arr[9]에 입력을 받아놓고
arr[1] ~ arr[10]을 가지고 min, max를 구하시니까 그런것 같습니다. arr[10]에는 쓰레기값이 들어있는데 이 값이 arr[0]보다 크면 대부분 max가 쓰레기가 나올테고 arr[0]보다 작으면 대부분 min이 쓰레기가 나오겠죠.
11/03/23 22:33
위에서 잘 설명해 주셨으니^^ 저는 문제를 찾는 근본적인 방법에 대해서 기술해 볼께요.
글쓴이께서 코딩중에 문제점에 직면하셨습니다. 바로 "쓰레기 값"이 나온다는 문제점에 말이죠. 그렇다면, 그 "쓰레기 값"이 어디서 왜 나오는지를 찾아 보셔야 합니다. NdrewK님께서 언급하셨듯 0~9까지 저장했는데 0~10까지 비교를 하니 당연히 10번지에 저장된 쓰레기 값이 MAX 혹은 MIN에서 출력이 되겠지요. 그렇다면 문제점을 찾았으니, 수정 방법을 생각해 봅시다. 1) max와 min이 있는 for문의 범위를 줄인다. 가장 간단하죠^^ 쓰레기값이 입력되는 곳을 아예 없애버리는 방법이니까요. 가장 확실합니다. 2) array의 범위를 줄인다. 어차피 정수를 10개만 입력 받을꺼라면 궂이 배열을 50개나 만드실 필요가 없습니다. string을 입력받는다면 모를까^^ 이 경우에 컴파일 도중 오류가 날 수도 있겠으나(for문에서...겠죠^^) 뭐 어쨌든..array의 범위를 바꿈으로서도 해결이 가능 합니다. 3) max와 min을 함수로 정의한다. 원론적인 해결방법은 아니나...효율적인 코드를 꾸미는데 도움이 되는 요소가 아닌가 합니다. 코드가 보기 좋아지는 측면이 있겠지요^^ 위에 두분이 잘 해결해 주셔서 뻘플만 남기고 갑니다^^;
|