Module Tester
Dim lastStudent, lastExam As Integer
Sub Main()
Dim i As Integer
' jagged array with 3 rows of exam scores
Dim gradeArray As Integer()() = New Integer(2)() {}
gradeArray(0) = New Integer() {7, 8, 6, 3}
gradeArray(1) = New Integer() {8, 7, 9, 1}
gradeArray(2) = New Integer() {0, 0, 6, 1}
' upper bounds for array manipulations
lastStudent = gradeArray.GetUpperBound(0)
lastExam = gradeArray(0).GetUpperBound(0)
Console.WriteLine("Lowest grade: " & _
Minimum(gradeArray) & vbCrLf & "Highest grade: " & _
Maximum(gradeArray))
For i = 0 To lastStudent
Console.WriteLine("Average for student " & _
i & " is " & Average(gradeArray(i)))
Next
End Sub ' Main
Function Minimum(ByVal grades As Integer()()) _
As Integer
Dim lowGrade As Integer = 100
Dim i, j As Integer
For i = 0 To lastStudent
For j = 0 To lastExam
If grades(i)(j) < lowGrade Then
lowGrade = grades(i)(j)
End If
Next
Next
Return lowGrade
End Function ' Minimum
Function Maximum(ByVal grades As Integer()()) _
As Integer
Dim highGrade As Integer = 0
Dim i, j As Integer
For i = 0 To lastStudent
For j = 0 To lastExam
If grades(i)(j) > highGrade Then
highGrade = grades(i)(j)
End If
Next
Next
Return highGrade
End Function ' Maximum
Function Average(ByVal setOfGrades As Integer()) _
As Double
Dim i As Integer, total As Integer = 0
For i = 0 To lastExam
total += setOfGrades(i)
Next
Return total / setOfGrades.Length
End Function ' Average
End Module
|