第10講 添え字付き名前を持った箱(配列)
第5話 2つの添え字付き名前もった箱(2次元配列)の活用社員版
自然配列・転置左右反転・上下反転・中心に対して点対称移動
社員版
Dim a(9, 9) As Integer
Private Sub CommandButton1_Click()
datesakusei
sizenhairetuhyouji
tentihyouji
sayuuhentenhyouji
jyougehantenhyouji
tentasyouidouhyouji
End Sub
Private Sub CommandButton2_Click()
Rows("6:200").Select
Selection.ClearContents
Cells(5, 2).Select
Selection.ClearContents
Cells(1, 1).Select
End Sub
Sub datesakusei()
Dim i As Integer, j As Integer
For i = 0 To 9
For j = 0 To 9
a(i, j) = 10 * i + j + 1
Next
Next
End Sub
Sub sizenhairetuhyouji()
Dim i As Integer, j As Integer
For i = 0 To 9
For j = 0 To 9
Cells(6 + i, 1 + j) = a(i, j)
Next
Next
End Sub
Sub tentihyouji()
Dim i As Integer, j As Integer
Cells(16, 1) = "転置"
For i = 0 To 9
For j = 0 To 9
Cells(17 + j, 1 + i) = a(j, i)
Next
Next
End Sub
Sub sayuuhentenhyouji()
Dim i As Integer, j As Integer
Cells(27, 1) = "左右反転"
For i = 0 To 9
For j = 0 To 9
Cells(28 + j, 1 + i) = a(i, 9 - j)
Next
Next
End Sub
Sub jyougehantenhyouji()
Dim i As Integer, j As Integer
Cells(38, 1) = "上下反転"
For i = 0 To 9
For j = 0 To 9
Cells(39 + j, 1 + i) = a(9 - i, j)
Next
Next
End Sub
Sub tentasyouidouhyouji()
Dim i As Integer, j As Integer
Cells(49, 1) = "中心に対して点対称移動"
For i = 0 To 9
For j = 0 To 9
Cells(50 + j, 1 + i) = a(9 - i, 9 - j)
Next
Next
End Sub
このプログラムは、グローバル配列を利用しましたが、
ローカル配列を社長CommandButton1_Click()に用意して、
同様なプログラムは組めるでしょうか。
C言語やC++では、
ポインタを利用して配列を社員に渡すことが可能ですが、
VBではそれができません。
しかし、VBAにはエクセルシートという便利なものがあります。
エクセルシートに書き込んでそれを利用すれば良いのです。
ですから、データの作成と自然配列の表示までは、
社長CommandButton1_Click()自ら行わなければなりません。
転置を表示する社員・左右反転を表示する社員・
上下反転を表示する社員・中心に対して点対称移動を表示する社員
にもローカル配列を用意してプログラミングしてください。
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義へ
VB講義基礎へ
初心者のためのJava 入門 基礎から応用まで
数学研究室に戻る