第2話 2次元配列


今回は2次元配列です。宣言例は
Dim mah(10,10) As Integer
です。

mahの部分は変数名で自由につけられます。

では2次元配列を使って、
前に作った4次魔方陣プログラム解答例

Private Sub CommandButton1_Click()

    Dim i As Integer, j As Integer, w As Integer

    For i = 1 To 4
        For j = 1 To 4
            Cells(i + 4, j + 1) = 4 * (i - 1) + j
        Next
    Next

    For i = 1 To 2
        w = Cells(i + 4, i + 1)
        Cells(i + 4, i + 1) = Cells(9 - i, 6 - i)
        Cells(9 - i, 6 - i) = w
    Next

    For i = 1 To 2
        w = Cells(i + 4, 6 - i)
        Cells(i + 4, 6 - i) = Cells(9 - i, i + 1)
        Cells(9 - i, i + 1) = w
    Next

End Sub

を改良して、データを2次元配列に保存してから、
表示させるプログラムを作ってみましょう。
上のプログラムでは、データを保存してしていないので、
データの再利用ができません。


改良は次のように行ってください。
2次元配列としてsizenhairetu(4,4)とmah(4,4)を用意し、
(もちろん、sizenhairetu(4,4)とmah(4,4)はそれぞれsizenhairetu(3,3),mah(3,3)でもいいわけです。
For i = 1 To 4をFor i = 0 To 3とすればよいからです。
しかし、プログラムをわかりやすくするためには、For i = 1 To 4のほうがよいのです。)
sizenhairetu(i,j)の各値は

B C D E
 1  2  3  4
 5  6  7  8
 9 10 11 12
13 14 15 16

のように表示させ、

また、mah(i,j)の値は

B C D E
10 16  2  3 13
11  5 11 10  8
12  9  7  6 12
13  4 14 15  1

のように表示させましょう。

4次魔方陣解答例

このプログラムの解説は次話の第3で。

第1話へ 第3話へ

第10講第1話へ