第15講 データの並び換え
第5話 並び換えプログラム例
を実現するプログラム例
Private Sub CommandButton1_Click()
CommandButton2_Click
Dim a(200) As Integer, b(200) As Integer, c(200) As Integer
Call f(a(), b(), c()) 'データ発生
Call h(a(), 4) 'データ表示
Call g1(b()) '昇順並び換え
Call h(b(), 5) 'データ表示
Call g2(c()) '昇順並び換え
Call h(c(), 6) 'データ表示
End Sub
Sub f(a() As Integer, b() As Integer, c() As Integer)
Dim i As Integer
For i = 0 To 4
a(i) = Int(100 * Rnd)
b(i) = a(i)
c(i) = a(i)
Next
End Sub
Sub g1(a() As Integer)
Dim i As Integer, j As Integer, min As Integer, jk As Integer, w As Integer
For i = 0 To 3
min = 100
For j = i To 4
If min > a(j) Then
min = a(j)
jk = j
End If
Next
w = a(i)
a(i) = a(jk)
a(jk) = w
Next
End Sub
Sub g2(a() As Integer)
Dim i As Integer, j As Integer, max As Integer, jk As Integer, w As Integer
For i = 0 To 3
max = 0
For j = i To 4
If max < a(j) Then
max = a(j)
jk = j
End If
Next
w = a(i)
a(i) = a(jk)
a(jk) = w
Next
End Sub
Sub h(a() As Integer, n As Integer)
Dim i As Integer
For i = 0 To 4
Cells(n, 1 + i) = a(i)
Next
End Sub
Private Sub CommandButton2_Click()
Rows("4:20000").Select
Selection.ClearContents
Cells(1, 1).Select
End Sub
参考ダウンロード添付ファイル
次話では、隣項交換繰り返し法について述べます。
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ
小学生からエンジニアまでのRuby入門へ
本サイトトップへ