第7講 多次元配列と1次元配列の関係
第6話 上下反転行列の表示も1次元For文で行う!
037
の左右反転行列の表示も1次元For文で実点するコード例
Module Module1

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

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

    '転置行列の表示
    For i = 0 To 3
      For j = 0 To 2
        If a(4 * j + i) < 10 Then Console.Write(" {0:d} ", a(4 * j + i)) '右端をそろえるための半角スペース
        If a(4 * j + i) >= 10 Then Console.Write("{0:d} ", a(4 * j + i))
      Next
      Console.WriteLine() '改行
    Next
    Console.WriteLine() '改行
  End Sub

End Module


では、最後転置行列の表示です。
これが一番難しい!
私も結構悩みました。

ヒントを書いておきます。
0,1,2,3,4,5,6,7,8,9,10,11
からいかにして
0,4,8,1,5,9,2,6,10,3,7,11
をいかに作り出すかです。
色を付けたのは理由があります。
0,1,2,3,4,5,6,7,8,9,10
から
0,4,8,1,5,9,2,6,10,3,7
への変換にはModを使います。
ヒントを重ねると、
0,4,8,12,16,20,24,28,32,36
をある方法で変換することです。

第5話へ   第7話へ

002

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

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