第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 | |
5 | 1 | 2 | 3 | 4 |
6 | 5 | 6 | 7 | 8 |
7 | 9 | 10 | 11 | 12 |
8 | 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話へ |