Problem

1 /12


マトリックスとは何ですか?作成・展示

Theory Click to read/hide

はじめに

非常に多くの場合、情報を扱う場合、表形式のデータを処理する必要があります。最近のプログラムは、そのようなデータを扱うことが非常に多いです。最も単純な例は、三目並べ、チェス、チェッカーなどの市松模様のボード上でゲームをプログラミングすることです。

数学では、このような構造は行列と呼ばれます。

 
Matrix は、同じタイプの要素 (数字、文字列など) で構成される長方形のテーブルです。< /スパン>

C# のこのようなデータは、2 次元配列 (「配列の配列」) として格納および処理できます。 .
表内のデータを処理するには、各セル(セル)の状態を記憶する必要があります。各セルには行番号と列番号という 2 つの数字が含まれています。
行列では、各要素には 2 つのインデックスがあります。最初に行番号が示され、次に列番号が示されます。行と列の番号はゼロから始まります
。 たとえば、要素 A[1, 2] は、2 行目の 3 列目にある要素です。

通常の配列と同様に、行列を操作するには、行列の作成方法を学ぶ必要があります。入力、処理、表示。

マトリックスを作成します。

 のインメモリ マトリックスを作成できますいくつかの初期値で満たされた所定のサイズ。

int[,] array = new int[4, 2]; // 4 行 2 列

 

マトリックスを作成したら、任意の値を入力できます。各要素には 2 つのインデックスがあるため、ネストされたループを使用する必要があります

<プレ> for (int i=1; i <= N, i++) { / / N - 行数 for (int j=1; j <= N, j++) { // M は列数 A[i, j] = ...   } } マトリックスを表示しています。

通常、リストの処理と表示には 2 つのネストされたループが使用されます。最初のループは行番号にあり、2 番目のループは行内の要素にあります。 マトリックスを行ごとに画面に出力するには、1 行内で数字をスペースで区切り、次のフラグメントを記述する必要があります:
  <プレ> for (int i=1; i <= N, i++) { for (int j=1; j <= N, j++) { Console.Write(A[i, j] + " ");   }   Console.WriteLine(); // 新しい行に移動 }

同じことができますが、インデックス ( foreach)。これを実装するサブルーチンを自分で作成してみてください。

Problem

バイナリ マトリックス (0 と 1 のみで構成される) をチェッカーボードに入力しますパターン。左上隅に null 要素があるはずです。

入力データ: 入力行には、スペースで区切られた行列の次元: 行数  が含まれます。 および列数 ( 1 <= M < ;=< /em> 100 ).

出力: プログラムは行ごとにバイナリ マトリックスを出力する必要があります。

<頭> <本体>
# 入力 出力
1 4 5 0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1