2012-02-07 4 views
0

시각적 기본으로 프로그램을 작성했으며 배열에 입력 된 최대 값을 표시하려고합니다. 때로는 같은 값이 두 번 이상 입력 될 것이고 프로그램의 마지막에이를 감지하고 사용자에게이를 알리는 방법이 필요합니다.Visual Basic에서 다중 최대 값 찾기

현재 배열 항목을 통해 최대 검색을 수행하고 선형 검색을 수행하고 있습니다. 항목이 = 최대 값이면 배열 부울 플래그를 true로 설정합니다. 부울 배열의 위치를 ​​사용하여 값 배열의 항목 중 최대 횟수가 동일한 항목이 발견 된 경우이를 감지해야만 다중 최대 값을 표시 할 수 있습니다. 텍스트를 반복하지 않고 MsgBox ("...")의 고정 루프를 수행 할 수 있으며, i 값 (액세스되는 값 배열의 위치) 만 변경하면됩니다.

미리 감사드립니다.

max=0 
for i = 1 to 4 
if number(i)>number(max) then max=i 
next 

for i = 0 to 4 
if number(i)=number(max) then flag(i)=true 
next 
Msgbox("the biggest number you entered was" & number(max)) 
+0

당신이 코드의 일부를 게재 할 수 있습니까? – assylias

+0

'최대 = 0 위한 I = 1~4 만약 번호 (i) 다음> 수 (최대) 최대 = 제가 다음 위한 I = 0~4 다음 번호 (i) = 수 (최대) 경우 플래그 (i) = true 다음 Msgbox ("입력 한 가장 큰 숫자는"& 숫자 (최대)) ' 최대 msg 1 번만 표시되는 경우에만이 msgbox를 표시하고 싶습니다. 보조 msgbox를 실행하는 방법을 알고 최대 횟수가 표시되는 –

+0

숫자 (최대)와 동일한 항목 각각에 대해 msgbox를 표시하겠습니까? – assylias

답변

0

테스트하지 코멘트에서

편집
코드 ...

Dim n as Long 

For i = 0 to 4 
    If number(i) = number(max) Then 
     n = n + 1 
    End If 
Next i 

Dim msg As String 

msg = "max = " & number(max) 
If n > 1 Then 
    msg = msg & " which appeared " & n & " times" 
End If 

MsgBox msg 
+0

고마워요. 아마도 나는 물건을 복잡하게 만들었다 고 생각합니다. –