第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の24を使い
+1)×(+1)=15
また、5
+1=

では逆の課題です。
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話へ

004
  


VBA講義第1部へ
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual aasic入門基礎講座へ

数学研究室に戻る