配列② 多次元配列 『HSP3』


前回は「1次元配列」をみてみました。今回は「多次元配列」をみてみます。「1次元配列」では各要素に値を代入していましたが、「多次元配列」は要素にさらに「配列」を代入するような感じです。

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
【例1】
dim arr,2,2
arr(0,0)= 1
arr(0,1)= 2
arr(1,0)= 3
arr(1,1)= 4
i = 0
repeat 2
    j = 0
    repeat 2
        mes "("+i+","+j+") = "+ arr(i,j)
        j++
    loop
    i++
loop
stop
  【結果】
(0,0) = 1
(0,1) = 2
(1,0) = 3
(1,1) = 4 

1行目で配列を指定しています。【例1】では第2パラメータまで指定しています。第1パラメータ「2」、第2パラメータ「2」なので「2×2」の配列です。多次元配列は4次元まで可能で、最大第4パラメータまで指定できます。各次元の添字は「,」で区切ります。4次元なら(0,0,0,0)のようになります。

 
1.
2.
3.
4.
5.
【例2】エラー
dim arr,2,2
arr(0,0)= 1.1
arr(0,1)= 1.2
arr(1,0)= 1.3
arr(1,1)= 1.4
  【例3】エラー
dim arr,2,2
arr(0,0)= "a"
arr(0,1)= "b"
arr(1,0)= "c"
arr(1,1)= "d"

 一次元配列では「dim」指定の配列に、「実数」や「文字」を入力してもエラーになりませんでした。しかし多次元配列では「配列の要素が無効です」とエラーになります。

 
1.
2.
3.
4.
5.
6.
【例4】
ddim arr,2,2
arr(0,0)= 1.1
arr(0,1)= 1.2
arr(1,0)= 1.3
arr(1,1)= 1.4
mes arr(1,1)
  【例5】
sdim arr,2,2
arr(0,0)= "a"
arr(0,1)= "b"
arr(1,0)= "c"
arr(1,1)= "d"
mes arr(1,1)

「dim」は整数型、「ddim」は実数型、「sdim」は文字型とよく説明されていますが、多次元配列は確かにそのようです。【例4】で「ddim」、【例5】で「sdim」を指定したらエラーが起こりませんでした。

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
【例6】
ddim arr,2,2
arr(0,0)= 1,2
arr(0,1)= 3,4
i = 0
repeat 2
    j = 0
    repeat 2
        mes "("+i+","+j+") = "+ arr(i,j)
        j++
    loop
    i++
loop
stop
   
(0,0) = 1
(0,1) = 3
(1,0) = 2
(1,1) = 4 

多次元配列も要素指定でカンマ区切りの文字列を代入することもできます。arr(0,0)= 1,2
 は、arr(0,0) = 1 , arr(1,0) = 2 と同じになります。
 


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です