第6講 配列
第4話 2次元配列

059
を実現するプログラム例
Module Module1

  Sub Main() '私は社長だ。
    'Rnd(-1)
    'Randomize(Timer())
    f()
  End Sub

  Sub f()
    Dim a(2, 3) As Integer '配列aの宣言
    Dim i, j As Integer
    'ランダムデータ生成
    For i = 0 To 2
      For j = 0 To 3
        a(i, j) = Int(Rnd() * 100)
      Next
    Next
    'データ表示
    For i = 0 To 2
      For j = 0 To 3
        If a(i, j) < 10 Then Console.Write(" {0:d} ", a(i, j)) '右端をそろえるための半角スペース
        If a(i, j) >= 10 Then Console.Write("{0:d} ", a(i, j))
      Next
      Console.WriteLine() '改行
    Next
  End Sub

End Module

さて、059の左右を反対にする、すなわち中央のところで線対称変換をさせたもの
002も表示させるとすると、
Module Module1

  Sub Main() '私は社長だ。
    'Rnd(-1)
    'Randomize(Timer())
    f()
  End Sub

  Sub f()
    Dim a(2, 3) As Integer '変数aの宣言
    Dim i, j As Integer
    'ランダムデータ生成
    For i = 0 To 2
      For j = 0 To 3
        a(i, j) = Int(Rnd() * 100)
      Next
    Next
    '
行列の表示
    For i = 0 To 2
      For j = 0 To 3
        If a(i, j) < 10 Then Console.Write(" {0:d} ", a(i, j)) '右端をそろえるための半角スペース
        If a(i, j) >= 10 Then Console.Write("{0:d} ", a(i, j))
      Next
      Console.WriteLine() '改行
    Next
    Console.WriteLine() '改行
    '左右反転行列の表示
    For i = 0 To 2
      For j = 0 To 3
        If a(i, 3 - j) < 10 Then Console.Write(" {0:d} ", a(i, 3 - j)) '右端をそろえるための半角スペース
        If a(i, 3 - j) >= 10 Then Console.Write("{0:d} ", a(i, 3 - j))
      Next
      Console.WriteLine() '改行
    Next
  End Sub

End Module

とします。


注釈文に行列という言葉が出てきていますが、
059のような数字の並びを指します。
行は横列、列は縦列を表します。
ですから、この行列を3行4列の行列といいます。
そして、行と列を反対にした(縦横を取り換えた)
031を転置行列といいます。

もとの行列・左右反転した行列・上限反転した配列・転置行列
037のすべてを表示させるプログラムを考えて下さい。
転置は難しいですが粘り強く考えて下さい。




第3話へ   第5話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ