第7講 多次元配列と1次元配列の関係
第3話 第6講第3話の課題を1次元配列と1次元For文のみによって実現する
を1次元配列
Dim a(11) As Integer '配列aの宣言
と1次元For文のみによって実現するコード例
MModule Module1
Sub Main() '私は社長だ。
'Rnd(-1)
'Randomize(Timer())
f()
End Sub
Sub f()
Dim a(11) As Integer '配列aの宣言
Dim i As Integer
'ランダムデータ生成
For i = 0 To 11
a(i) = Int(Rnd() * 100)
Next
'データ表示
For i = 0 To 11
If i > 0 And (i Mod 4) = 0 Then Console.WriteLine() '改行
If a(i) < 10 Then Console.Write(" {0:d} ", a(i)) '右端をそろえるための半角スペース
If a(i) >= 10 Then Console.Write("{0:d} ", a(i))
Next
Console.WriteLine() '改行
End Sub
End Module
解説
1次元For文にした際に難しい点は、
改行どうするかです。
|
0 | 1 | 2 | 3 | ||||||
0 | 0 | 1 | 2 | 3 | ||||||
1 | 4 | 5 | 6 | 7 | ||||||
2 | 8 | 9 | 10 | 11 |
(同色が1次元の場合のiに対応、以下も色対応にご注意!)
上の表をご覧になれば、iが4で割り切れるときに、
改行すれば良いことがわかります。
ただし、0で改行してもらっては困るので、
i > 0 And (i Mod 4)となっています。
では、第6講第4話の課題
を1次元配列によって、実現して下さい。
ただし、データ生成とデータ表示はすべて2次元For文で行うものとします。