2015-09-19 97 views
1

我是一個visual basic newb,我有一些任務很長時間困擾我。我不知道任何我可以要求提示的人,所以我希望這裏會有一些好人給我至少一條線索,如何解決這個問題。Visual Basic - 編寫的編號比之前的編號/編號大

請注意,我很新的進入,請不要粗暴對我。我需要一些「寫數字比之前的數字/數字更大」的例子 我對英語不太熟練,所以我不能很好地解釋它或搜索例子。

的一點是,我有6個值,我需要進行測試,並將其寫入列表框,值女巫是比以前所有的值(後不和,因爲有許多)


公共更大Form1類

Private strClasses(5) As String 


Private Sub Buttonaddarray_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonaddarray.Click 
    clearlist() 

    strClasses(0) = Val(InputBox("Unesite visinu prvog covjeka")) 
    strClasses(1) = Val(InputBox("Unesite visinu drugog covjeka")) 
    strClasses(2) = Val(InputBox("Unesite visinu treceg covjeka")) 
    strClasses(3) = Val(InputBox("Unesite visinu cetvrtog covjeka")) 
    strClasses(4) = Val(InputBox("Unesite visinu petog covjeka")) 
    strClasses(5) = Val(InputBox("Unesite visinu sestog covjeka")) 


    For i As Integer = 0 To strClasses.Length - 1 
     listarray.Items.Add(strClasses(i)) 

    Next 
End Sub 

Private Sub clearlist() 
    listarray.Items.Clear() 
End Sub 

Private Sub Buttonsort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonsort.Click 
    clearlist() 

    Dim a As Integer = strClasses(0) 
    Dim b As Integer = strClasses(1) 
    Dim c As Integer = strClasses(2) 
    Dim d As Integer = strClasses(3) 
    Dim f As Integer = strClasses(4) 
    Dim g As Integer = strClasses(5) 



    listarray.Items.Add("Blagajnik vidi ljude sledećih visina") 

    listarray.Items.Add(a) 

    If b > a Then 
     listarray.Items.Add(b) 
    End If 
    If c > a And c > b Then 
     listarray.Items.Add(c) 
    End If 
    If d > a And d > b And d > c Then 
     listarray.Items.Add(d) 
    End If 
    If f > a And f > b And f > c And f > d Then 
     listarray.Items.Add(f) 
    End If 
    If g > a And g > b And g > c And g > d And g > f Then 
     listarray.Items.Add(g) 
    End If 



End Sub 

末級


+0

因此,很明顯,你是說你有一組由用戶輸入的數字,你想對它們進行排序並按升序顯示它們嗎? – jmcilhinney

+0

不要對它們排序,只是爲了顯示比它之前的所有數字更大的數字。 例如:如果我輸入1 2 1 5 6 程序應顯示1 2 5 6 如果我輸入10 5 6 9 11 程序應該顯示10 11 我希望你能理解我。 而不是你回覆:) – newb

+0

聽起來就像你想要保持運行的最高值,當你運行所有的值。 –

回答

1

這應返回你正在尋找的結果對。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    Dim strClasses(5) As Integer 
    strClasses(0) = 1 
    strClasses(1) = 2 
    strClasses(2) = 1 
    strClasses(3) = 5 
    strClasses(4) = 6 

    Debug.Print(maxOutArray(strClasses)) 

    strClasses(0) = 10 
    strClasses(1) = 5 
    strClasses(2) = 6 
    strClasses(3) = 9 
    strClasses(4) = 11 

    Debug.Print(maxOutArray(strClasses)) 

End Sub 

Private Function maxOutArray(values() As Integer) As String 
    Dim currentHightest As Integer 

    Dim returnVal As String = String.Empty 

    For Each parseInt As Integer In values 
     If parseInt > currentHightest Then 
      currentHightest = parseInt 
      returnVal = String.Concat(returnVal, " ", currentHightest) 
     End If 
    Next 
    Return returnVal 

End Function