Я должен был создать программу, которая просит меня найти максимальное значение одного определенного массива. Я использую несколько форм в этом проекте и использовал пользовательский тип данных и создал под ним несколько массивов. Существует первая форма, связанная с этим, которая определяет мой определенный тип данных: gStudentRecord, а массивы, которые определяют его, - это фамилия, Id и GPA. Эта вторая форма - это где я пишу весь код для отображения того, что я хочу. Мой вопрос заключается в том, как получить Max GPA из этого массива. Я сожалею, если это не в очень хорошем формате, это первый раз, когда я использовал StackoverflowVisual Basic Confusion
Public Class frmSecond
Private Sub frmSecond_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim Ctr As Integer
Dim Line As String
lstDisplay.Items.Clear()
lstDisplay.Items.Add("Name".PadRight(25) & "ID".PadRight(16) & "GPA".PadRight(20) & "Out of state".PadRight(10))
For Ctr = 0 To gIndex Step 1
Line = gCourseRoster(Ctr).LastName.PadRight(20) & gCourseRoster(Ctr).ID.PadRight(15) & gCourseRoster(Ctr).GPA.ToString.PadRight(15) & gCourseRoster(Ctr).OutOfState.ToString().PadLeft(5)
lstDisplay.Items.Add(Line)
Next
End Sub
Private Sub btnStats_Click(sender As Object, e As EventArgs) Handles btnStats.Click
Dim Ctr As Integer = 0
Dim Average As Double
Dim Sum As Double
Dim Found As Boolean = False
Dim Pass As Integer
Dim Index As Integer
lstDisplay.Items.Clear()
**For Ctr = 0 To gIndex Step 1
If gCourseRoster(Ctr).GPA > gCourseRoster(Ctr).GPA Then
lstDisplay.Items.Add(gCourseRoster(Ctr).GPA)
End If
Next**
Average = gComputeAverage(Sum)
lstDisplay.Items.Add("Number of Students: " & gNumberOfStudents)
lstDisplay.Items.Add("Average: " & Average)
End Sub
Private Function gComputeAverage(Sum As Double) As Double
Dim Ctr As Integer
Dim Average As Double
For Ctr = 0 To gIndex Step 1
Sum = Sum + gCourseRoster(Ctr).GPA
Next
Average = Sum/gNumberOfStudents
Return Average
End Function
End Class
Использовать 'List (Of gCourseRoster)' вместо массива - это коллекция, специфичная для типов. – OneFineDay
'gCourseRoster (Ctr) .GPA> gCourseRoster (Ctr) .GPA' всегда будет ложным, потому что сравнение имеет те же две вещи по обе стороны от сравнения неравенства. –