第14講 高次元配列と低次元配列の関係
第3話 3次元配列を1次元配列で表現する
解答コード例
Private Sub CommandButton1_Click()
Dim a(3, 2, 4) As Integer
Dim b(59) As Integer
Dim i As Integer, j As Integer, k As Integer
For i = 0 To 3
For j = 0 To 2
For k = 0 To 4
a(i, j, k) = Int(Rnd * 100)
Next
Next
Next
For i = 0 To 3
For j = 0 To 2
For k = 0 To 4
b(10 * i + 5 * j + k) = a(i, j, k)
Next
Next
Next
For i = 0 To 3
For j = 0 To 2
For k = 0 To 4
Cells(5 + 4 * i + j, 1 + k) = a(i, j, k)
Next
Next
Next
For i = 0 To 3
For j = 0 To 2
For k = 0 To 4
Cells(5 + 4 * i + j, 7 + k) = b(10 * i + 5 * j + k)
Next
Next
Next
End Sub
実行シート例
1次元に翻訳するときのコツ
b(15 * i + 5 * j + k)の15は、Dim a(3, 2, 4) As Integerの2と4を使い
(2+1)×(4+1)=15
また、5は
4+1=5
では逆の課題です。
1次元データを作ってから、それを3次元データに翻訳し、上の実行シート例のように表示させるプログラムを考えてください。
Private Sub CommandButton1_Click()
Dim a(3, 2, 4) As Integer
Dim b(59) As Integer
Dim i As Integer
For i = 0 To 59
b(i) = i + 1
Next
End Sub
もし、整数の宣言が必要なら、適宜宣言しましょう。
第2話へ 第4話へ
VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual aasic入門基礎講座へ
数学研究室に戻る