数组编程练习题1——检验并打印魔方矩阵

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:36:37
在下面的5×5魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中,然后,检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
提示:
通过这个实际例子熟悉数组类型的应用场合以及数组的编程与使用方法,进一步熟悉含有选择、循环结构的程序的设计方法。

'主过程
Public Sub Main()

Dim M(1 To 5, 1 To 5) As Integer

'赋值
M(1, 1) = 17: M(1, 2) = 24: M(1, 3) = 1: M(1, 4) = 8: M(1, 5) = 15
M(2, 1) = 23: M(2, 2) = 5: M(2, 3) = 7: M(2, 4) = 14: M(2, 5) = 16
M(3, 1) = 4: M(3, 2) = 6: M(3, 3) = 13: M(3, 4) = 20: M(3, 5) = 22
M(4, 1) = 10: M(4, 2) = 12: M(4, 3) = 19: M(4, 4) = 21: M(4, 5) = 3
M(5, 1) = 11: M(5, 2) = 18: M(5, 3) = 25: M(5, 4) = 2: M(5, 5) = 9

If IsMagicMatrix(M()) Then
Debug.Print "是魔方。"
Else
Debug.Print "不是魔方。"
End If
PrintMatrix M()
End Sub

'判断是否为魔方矩阵
Public Function IsMagicMatrix(ByRef M() As Integer) As Boolean
IsMagicMatrix = False
If LBound(M, 1) <> 1 Or UBound(M, 1) <> 5 Or LBound(M, 2) <> 1 Or UBound(M, 2) <> 5 Then
Exit Function
End If
Dim i, j