第6講 配列
第4話 2次元配列具体例

001
(データは毎回異なります。)

を実現するプログラム例
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
  class Program //初心者はお呪い=決まり事と思い一切気にしない
  {
    static void Main(string[] args) //私は社長だ。
    {
      f();
    }
    static void f()
    {
      int[,] a = new int[3,4];
      Random r = new Random();
      //以下ランダムデータ生成
      for (int i = 0; i < 3; i++)
      {
        for (int j = 0; j < 4; j++)
        {
          a[i, j] = r.Next(100);
        }
      }
      //以下ランダムデータ表示
      for (int i = 0; i < 3; i++)
      {
        for(int j = 0; j < 4; j++)
        {
          if(a[i,j] < 10)Console.Write(" {0:d} ", a[i, j]); //1桁の場合
          if(a[i,j] >= 10)Console.Write("{0:d} ", a[i, j]); //2桁の場合
        }
        Console.WriteLine(); //改行
      }
    }
  }
}


さて、001の左右を反対にする、すなわち中央のところで線対称変換をさせたもの
002も表示させるとすると、
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
  class Program //初心者はお呪い=決まり事と思い一切気にしない
  {
    static void Main(string[] args) //私は社長だ。
    {
      f();
    }
    static void f()
    {
      int[,] a = new int[3,4];
      Random r = new Random();
      //ランダムデータ生成
      for (int i = 0; i < 3; i++)
      {
        for (int j = 0; j < 4; j++)
        {
          a[i, j] = r.Next(100);
        }
      }
      //ランダムデータ表示
      for (int i = 0; i < 3; i++)
      {
        for(int j = 0; j < 4; j++)
        {
          if(a[i,j] < 10)Console.Write(" {0:d} ", a[i, j]); //1桁の場合
          if(a[i,j] >= 10)Console.Write("{0:d} ", a[i, j]); //2桁の場合
        }
        Console.WriteLine();
      }
      Console.WriteLine();
      //左右反転の表示
      for (int i = 0; i < 3; i++)
      {
        for (int j = 0; j < 4; j++)
        {
          if (a[i, 3 - j] < 10) Console.Write(" {0:d} ", a[i, 3 - j]); //1桁の場合
          if (a[i, 3 - j] >= 10) Console.Write("{0:d} ", a[i, 3 - j]); //2桁の場合
        }
        Console.WriteLine();
      }
    }
  }
}
とします。




さて、001のような数字の並びを行列といいます。
行は横列、列は縦列を表します。
ですから、この行列を3行4列の行列といいます。
そして、行と列を反対にした(縦横を取り換えた)
001を転置行列といいます。

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

011
(データは毎回異なります。)


第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 入門 サイト 基礎から応用まで
本サイトトップへ