第6講 配列
第6話 成績一覧表
成績一覧表
を実現するプログラム例
Module Module1
Sub Main() '私は社長だ。
Rnd(-1)
Randomize(Timer())
f()
End Sub
Sub f()
Dim a(2, 9, 4) As Integer '配列aの宣言
Dim i, j, k As Integer
'ランダムデータ生成
For i = 0 To 2
For j = 0 To 9
For k = 0 To 4
a(i, j, k) = Int(Rnd() * 100) + 1
Next
Next
Next
'行列の表示
For i = 0 To 2
Console.WriteLine("{0:d}学期", i + 1)
Console.WriteLine ("出席番号 国語 社会 数学 理科 英語")
For j = 0 To 9
'出席番号の表示
If j + 1 < 10 Then Console.Write(" {0:d} ", j + 1)
If j + 1 >= 10 Then Console.Write(" {0:d} ", j + 1)
'以下成績表示
For k = 0 To 4
If a(i, j, k) < 10 Then Console.Write(" {0:d} ", a(i, j, k)) '右端をそろえるための半角スペース2個分
If a(i, j, k) >= 10 And a(i, j, k) < 100 Then Console.Write(" {0:d} ", a(i, j, k)) '右端をそろえるための半角スペース1個分
If a(i, j, k) >= 100 Then Console.Write("{0:d} ", a(i, j, k))
Next
Console.WriteLine() '改行
Next
Console.WriteLine() '改行
Next
End Sub
End Module
次話の課題です。
3次元配列を
Dim a(2, 9, 5) As Integer '最初の添え字は学期、2番目の添え字は出席番号、3番目は各教科と合計に対応
と変更して、各教科の合計も表示させて、
としましょう。
初心者にはかなり難しいですよ。