第10講 添え字付き名前を持った箱(配列)

第5話 2つの添え字付き名前もった箱(2次元配列)の活用社員版

自然配列・転置左右反転・上下反転・中心に対して点対称移動
visual
basic
社員版
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()自ら行わなければなりません。
転置を表示する社員・左右反転を表示する社員・
上下反転を表示する社員・中心に対して点対称移動を表示する社員
にもローカル配列を用意してプログラミングしてください。


第4話へ 第6話へ

トップ

vc++講義へ

初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義へ
VB講義基礎へ
初心者のためのJava 入門 基礎から応用まで
数学研究室に戻る