Option Explicit
Sub main()
''필수변수 선언 Dim 인수1, 인수2, i, 버퍼 As Variant ''핵심변수 선언 Dim 결재금액, 예약수량, 예약금액, 합계(1000), 예약번호(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 ''변수저장 예약수량 = Val(Mid(버퍼, 18, 5)) 예약금액 = Val(Mid(버퍼, 23, 10)) 결재금액 = Val(Mid(버퍼, 48, 10))
If 결재금액 < 5000000 Then Num = Num + 1 합계(Num) = 예약수량 * 예약금액 예약번호(Num) = Trim(Mid(버퍼, 1, 7)) 마지막결재금액(Num) = Val(Mid(버퍼, 48, 10)) 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
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, 마지막결재금액(Num)
Close #2
End Sub
|