After much fiddling i figured out how to get the average on diagonals
Here is my code
'6 by 6 (2D) array with random number in the range 1 to 10.
'Then determine the average of each row and each column.
'In addition, extra credit - determine the average of each diagonal.
[php]
lstout.Items.Clear()
Dim square(6, 6) As Integer
Dim row, col As Integer
Dim rndnum As New Random
Dim sum As Integer = 0
Dim ave As Double
Dim sumd1, sumd2 As Integer
Dim aved2, aved1 As Double
Dim line As String = " "
For row = 1 To 6
sum = 0
For col = 1 To 6
square(row, col) = rndnum.Next(1, 10)
sum = sum + square(row, col)
Next
ave = sum / 6.0
lstout.Items.Add("ave for row " & row & " = " & Math****und(ave, 2))
Next
lstout.Items.Add(ControlChars.NewLine)
For col = 1 To 6
sum = 0
For row = 1 To 6
sum = sum + square(row, col)
Next
ave = sum / 6.0
lstout.Items.Add("ave for col " & col & " = " & Math****und(ave, 2))
Next
lstout.Items.Add(ControlChars.NewLine)
For row = 1 To 6
For col = 1 To 6
line = line + Str(square(row, col)) & " "
If col Mod 6 = 0 Then
lstout.Items.Add(line)
line = " "
End If
Next
Next
sumd1 = 0
sumd2 = 0
For row = 1 To 6
For col = 1 To 6
If row = col Then
sumd1 = sumd1 + square(row, col)
'lstout.Items.Add(square(row, col))
End If
If row + col = 7 Then
lstout.Items.Add(square(row, col))
'sumd2 = sumd2 + square(row, col)
End If
Next
Next
aved1 = sumd1 / 6.0
aved2 = sumd2 / 6.0
lstout.Items.Add("diag 1 ave = " & Math****und(aved1, 2))
lstout.Items.Add("diag 2 ave = " & Math****und(aved2, 2))[/php]