1. 2005년 5월 11일 오전 시험문제이구요.
값이 아무리 비교해도 틀리게 나와서 올립니다.
Option Explicit
Sub main() ''''''''''''''''필수 변수 선언 Dim 인수1, 인수2, k, 버퍼 As Variant ''''''''''''''''핵심 변수 선언 Dim 예약수량, 예약금액, 예약일자(1000), 지불금액(1000), 일련번호(1000), p, temp, num As Variant ''''''''''''''''인수처리 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " "))) ''''''''''''''''입력 파일 처리 Open "c:\c_it\data\san0105.txt" For Input As #1 For k = 1 To 인수1 Line Input #1, 버퍼 If k >= 인수1 Then ''''''''''''''''변수 저장 예약수량 = Val(Mid(버퍼, 18, 5)) 예약금액 = Val(Mid(버퍼, 23, 10)) ''''''''''''''''배열 변수 처리 If 예약수량 * 예약금액 >= 7000000 Then num = num + 1 지불금액(num) = Val(Mid(버퍼, 48, 10)) 일련번호(num) = Trim(Mid(버퍼, 1, 7)) 예약일자(num) = Trim(Mid(버퍼, 8, 10)) End If End If Next k ''''''''''''''''정렬 For k = 1 To num For p = k To num If 지불금액(k) > 지불금액(p) Or 지불금액(k) = 지불금액(p) And 일련번호(k) > 일련번호(p) Then temp = 지불금액(k) 지불금액(k) = 지불금액(p) 지불금액(p) = temp temp = 일련번호(k) 일련번호(k) = 일련번호(p) 일련번호(p) = temp temp = 예약일자(k) 예약일자(k) = 예약일자(p) 예약일자(p) = temp End If Next p Next k Close #1 ''''''''''''''''출력파일처리 Open "c:\c_it\data\ans1.txt" For Output As #2 Print #2, 인수1, 인수2, 예약일자(num) Close #2 End Sub
***************************************************** 답은 1998-10-28인데 이 코딩으로 하면 1998-10-26밖에는 안 나오거든요.
출력까지 해서 샘꺼랑 제꺼랑 비교해 봤는데 도통 눈에 들어와야 말이지요...
뭐가 틀렸을가요...이번엔... *******************************************************
|