3번문제요..
최대값 구하는 방식으로 안하고.
오름차순 정렬해서 마지막 값으로 출력하면 안되나요??
그렇게 해도 될것 같아서 했는데 답이 안나오네요..
"최대값이랑 오름차순정렬의 마지막 값이 같다"는 제생각이 틀린건지.. 소스코딩이 잘못된건지 좀 봐주세요~ㅜㅜ
Option Explicit
Sub main() ''필수변수선언 Dim 인수1, 인수2, 버퍼, i As Variant
''핵심변수선언 Dim 배달여부, 예약수량, 예약금액, 합계(1000), 예약번호(1000), N, T, j 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(버퍼, 93, 2)) 예약수량 = Val(Mid(버퍼, 18, 5)) 예약금액 = Val(Mid(버퍼, 23, 10)) ''합계, 예약번호, n If 배달여부 <> "OK" And 배달여부 <> "NO" Then N = N + 1 합계(N) = 예약수량 * 예약금액 예약번호(N) = Trim(Mid(버퍼, 1, 7)) End If End If Next i ''정렬 For i = 1 To N For j = i To N If 합계(i) > 합계(j) Or _ (합계(i) = 합계(j) And 예약번호(i) > 예약번호(j)) Then T = 합계(i) 합계(i) = 합계(j) 합계(j) = T T = 예약번호(i) 예약번호(i) = 예약번호(j) 예약번호(j) = T End If Next j Next i
Close #1
''출력파일처리 Open "c:\c_it\data\ans3.txt" For Output As #2 Print #2, 인수1, 인수2, 예약번호(N) Close #2 End Sub
|