2015-09-19 1 views
1

Im визуальный базовый newb, и у меня есть задача, которая беспокоит меня долгое время. Я не знаю никого, кто мог бы попросить совета, поэтому я надеюсь, что здесь будут хорошие люди, чтобы дать мне хотя бы ключ к решению этой проблемы.Visual Basic - напишите номер, который больше числа/цифр перед ним

Обратите внимание, что Im очень новый в этом и, пожалуйста, не грубо на меня. Мне нужен пример «Напиши номер, который больше, чем число/цифры перед ним» Я не очень владею английским языком, поэтому я не могу объяснить его очень хорошо или искать примеры.

Дело в том, что у меня есть 6 значений, и мне нужно, чтобы проверить и записать его в ListBox, значение ведьмы больше, чем все значения до него (не после него и так много, как есть)


Общественности Класс 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 

End Class


+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