第5講 配列の学習
第2話 1次元配列を利用した簡単なソフト
第1話問題解答例
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
'変数の宣言
Dim a(9) As Integer, i As Integer, w As String
'データ発生
For i = 0 To 9
a(i) = i + 1
Next
'データ表示
w = "" '初期化
For i = 0 To 9
w = w + " " + a(i).ToString()
Next
TextBox1.Text = w
End Sub
End Class
これが解答例ですが、今回作ったソフトは余りに芸がありませんね。
別に配列を使わなくても、
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
'変数の宣言
Dim i As Integer, w As String
'データの発生と表示
w = "" '初期化
For i = 1 To 10
w = w + " " + i.ToString()
Next
TextBox1.Text = w
End Sub
End Class
で十分だからです。そこで、ソフトを改良して配列のありがたみのわかるソフトにしましょう。
今回のような順に入れていくデータでなく、Rnd()(乱数)を利用して、アットランダムに1桁のデータを発生させ表示させてから、
合計値、平均値、最大値、最小値、大きい順に並び替えたデータを表示させてみましょう。
データ数は、今回と同じ10個としてプログラミングに挑戦しましょう。
尚、並び替えについては第4講の成績順並び替えを参考にしましょう。
プログラミング例は30行下。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
'変数の宣言
Dim a(9) As Integer, i As Integer, w As String
'データ発生
For i = 0 To 9
a(i) = i + 1
Next
'データ表示
w = "" '初期化
For i = 0 To 9
w = w + " " + a(i).ToString()
Next
TextBox1.Text = w
'合計値の算出
Dim wa As Integer
wa = 0 '初期化
For i = 0 To 9
wa = wa + a(i)
Next
'合計値の表示
TextBox2.Text = wa
'平均値
TextBox3.Text = wa / 10
'最大値の算出
Dim max As Integer
max = 0
For i = 0 To 9
If a(i) >= max Then max = a(i)
Next
'最大値の表示
TextBox4.Text = max
'最小値の算出
Dim min As Integer
min = 10
For i = 0 To 9
If a(i) <= min Then min = a(i)
Next
'最小値の表示
TextBox5.Text = min
'並び替え算出
Dim j As Integer, bn As Integer, wr As Integer
For i = 9 To 0 Step -1
min = 10
For j = 0 To i
If a(j) <= min Then
min = a(j)
bn = j
End If
Next
wr = a(bn)
a(bn) = a(i)
a(i) = wr
Next
'並び替え表示
w = "" '初期化 これを忘れるとデータが20個表示されてしまう。
For i = 0 To 9
w = w + " " + a(i).ToString()
Next
TextBox6.Text = w
End Sub
End Class実行結果例
因みにw = ""を入れ忘れると
と20個のデータが表示されてしまいます。
いったんw = ""で元データをクリアしなければなりません。
今回作ったソフトでは、配列のありがたさがわかります。
何度も同じデータを再利用し、それをすべてfor文、if文で扱えているからです。
VC++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
数学研究室に戻る