第8講 プロシージャ(2)
第4話 2次元配列を送る
@2次元配列に対応するポインタを作り、プロシージャf()で2次元データを作成する
Aプロシージャg()でその2次元データを表示する
という条件下で実行画面が
1 7 4 0 9 4 8
8 2 4 5 5 1 7
1 1 5 2 7 6 1
4 2 3 2 2 1 6
8 5 7 6 1 8 9
2 7 9 5 4 3 1
となるプログラム例
Module Module1
Sub Main() '私は社長だ。
Rnd (-1)
Randomize (Timer())
Dim a(5, 6) As Integer '配列の宣言
f (a) 'データ作成
g (a) 'データ表示
End Sub
Sub f(x(,) As Integer)
Dim i, j As Integer
For i = 0 To 5
For j = 0 To 6
x(i, j) = Int(10 * Rnd())
Next
Next
End Sub
Sub g(x(,) As Integer)
Dim i, j As Integer
For i = 0 To 5
For j = 0 To 6
Console.Write("{0:d} ", x(i, j))
Next
Console.WriteLine()
Next
End Sub
End Module
ではさらにプロシージャh()、t()、s()にそれぞれ、
左右反転表示、上下反転表示、転置表示の役割を持たせて、
実行画面
もとの行列
1 7 4 0 9 4 8
8 2 4 5 5 1 7
1 1 5 2 7 6 1
4 2 3 2 2 1 6
8 5 7 6 1 8 9
2 7 9 5 4 3 1
左右反転
8 4 9 0 4 7 1
7 1 5 5 4 2 8
1 6 7 2 5 1 1
6 1 2 2 3 2 4
9 8 1 6 7 5 8
1 3 4 5 9 7 2
上下反転
2 7 9 5 4 3 1
8 5 7 6 1 8 9
4 2 3 2 2 1 6
1 1 5 2 7 6 1
8 2 4 5 5 1 7
1 7 4 0 9 4 8
転置
1 8 1 4 8 2
7 2 1 2 5 7
4 4 5 3 7 9
0 5 2 2 6 5
9 5 7 2 1 4
4 1 6 1 8 3
8 7 1 6 9 1
を実現して下さい。