빨간색부분처럼 했을때는 답이 틀리게 나왔는데요, 파란색처럼 고치니까 답이
맞더라구요...일련번호는문자형이고, 지불금액이랑 나머지는 숫자형이랑
처음에 나눠서 변수선언을 해줬는데 그게 틀린건가요?
왜 답이 틀리게 나온걸까요???
Sub main()
''필수변수선언 Dim 인수1, 인수2, i As Long Dim 버퍼 As String ''핵심 변수 선언 Dim 예약수량, 예약금액, 곱(1000), 지불금액(1000), 일련번호(1000), j, Temp, Num As Variant ''핵심변수선언 ''Dim 지불금액(1000), 예약수량, 예약금액, 곱(1000), Num, j, Temp1, Temp3 As Long ''Dim 일련번호(1000), Temp2 As String ''인수처리 인수1 = Val(Left(Command, InStr(Command, " "))) 인수2 = Val(Mid(Command, InStr(Command, " "))) ''입력파일처리 Open "c:\c_it\data\san0105.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)) If Val(Mid(버퍼, 48, 10)) < 5000000 Then Num = Num + 1 곱(Num) = 예약수량 * 예약금액 지불금액(Num) = Val(Mid(버퍼, 48, 10)) 일련번호(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 Temp = 일련번호(i) 일련번호(i) = 일련번호(j) 일련번호(j) = Temp End If Next j Next i Close #1 ''출력파일처리 Open "c:\c_it\data\ans2.txt" For Output As #2 Print #2, 인수1, 인수2, 지불금액(Num) Close #2 End Sub |