시험기간이라 질문들이 많군요.
다름이 아니라 34강(고급) 1문제를 연습하고 있습니다.
아래와 같이 코딩 했는데, 제 생각에는 분명히 제대로 코딩을 했거든요. 그런데 실행을 하면 결과값이 틀리게 나옵니다.
권우석 강사님이 코딩 올려놓으신것 하고 비교를 해봐도 틀린것이 없는데.. 도대체 왜 이럴까요? 이 한문제때문에 해결이 안나 4시간째 해메고 있습니다.
도와주세요.
Sub main()
Dim 인수1, 인수2, i, 버퍼 As Variant
Dim 회원구분, 예약수량, 예약금액, 예약번호(1000), 합계(1000), j, Temp, Num As Variant
인수1 = Val(Left(Command, InStr(Command, " ")))
인수2 = Val(Mid(Command, InStr(Command, " ")))
Open "c:\c_it\data\abc03.txt" For Input As #1
For i = 1 To 인수2
Line Input #1, 버퍼
If i >= 인수1 Then
회원구분 = Trim(Mid(버퍼, 33, 1))
예약수량 = Val(Mid(버퍼, 18, 5))
예약금액 = Val(Mid(버퍼, 23, 10))
If 회원구분 = "0" Or 회원구분 = "1" Then
Num = Num + 1
합계(Num) = 예약수량 + 예약금액
예약번호(Num) = Trim(Mid(버퍼, 1, 7))
End If
End If
Next i
For i = 1 To Num
For j = i To Num
If 합계(i) > 합계(j) Or (합계(i) = 합계(j) And 예약번호(i) > 예약번호(j)) Then
Temp = 합계(i)
합계(i) = 합계(j)
합계(j) = Temp
Temp = 예약번호(i)
예약번호(i) = 예약번호(j)
예약번호(j) = Temp
End If
Next j
Next i
Close #1
Open "c:\c_it\data\ans1.txt" For Output As #2
Print #2, 인수1, 인수2, 예약번호(10)
Close #2
End Sub