C#で2次元配列(マトリックス)を表示する方法
C#では、int[] のような構文を使うことで、簡単に2次元配列(マトリックス)を作成できます。本記事では、ユーザーから入力を受け取り、その値をマトリックス形式でコンソールに表示する方法を解説します。
1. 2次元配列の宣言
まず、2次元配列を宣言します。以下のように new int[行数, 列数] の形式で定義します。
int[] arr = new int[10, 10];
ここでは最大10×10の要素を持つ配列を用意しています。実際に使用するのは、後ほど変数 m(行数)と n(列数)で指定する範囲のみです。
2. ユーザーから要素を入力する
次に、ネストされたforループを使って、各行・各列の要素を順番に読み込みます。
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
arr[i, j] = Convert.ToInt16(Console.ReadLine());
}
}
Console.ReadLine() で入力された文字列を Convert.ToInt16() によって整数型に変換し、配列の対応する位置に格納しています。
3. 完全なサンプルコード
以下は、マトリックスの入力と表示を行う完全なプログラム例です。
using System;
using System.Linq;
class Demo {
static void Main() {
int m, n, i, j;
// マトリックスの行数と列数
m = 2;
n = 2;
int[] arr = new int[10, 10];
Console.Write("マトリックスの要素を入力してください: ");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
arr[i, j] = Convert.ToInt16(Console.ReadLine());
}
}
Console.WriteLine("マトリックスの表示:");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
Console.Write(arr[i, j] + "\t");
}
Console.WriteLine();
}
Console.ReadLine();
}
}
ポイント解説
- 外側のループが行、内側のループが列を担当します。
Console.Write(arr[i, j] + "\t")のタブ文字(\t)により、各要素が整形されて横並びで表示されます。- 内側のループが終わったタイミングで
Console.WriteLine()を呼び出すことで、改行され次の行へ移ります。これによりマトリックスらしい見た目になります。
実行結果
上記のプログラムを実行すると、以下のような出力が得られます。
マトリックスの要素を入力してください: 5 10 12 15 マトリックスの表示: 5 10 12 15
このように、二重ループとタブ文字を組み合わせるだけで、2次元配列を見やすい表形式で表示できます。行数や列数を変更したい場合は、変数 m と n の値を調整するだけで対応可能です。
-
Cプログラムで指定された配列から下三角行列パターンを出力する方法
n×n の行列が与えられたとき、その行列を下三角行列(下三角形パターン)の形で出力するのが本記事のテーマです。下三角行列とは、主対角線より下の要素(主対角線上の要素を含む)が元の値をそのまま保持し、主対角線より上の要素がすべて 0 になった行列のことです。次の図を見ると理解しやすくなります。図の緑色の要素は主対角線より下(および主対角線上)の要素で、元の値がそのまま残ります。一方、赤色の要素は主対角線より上の要素で、すべて 0 に設定されます。入力と出力の例入力: matrix[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9
-
C#の多次元配列とは?2次元配列の宣言方法と使い方を実例付きで解説
C#では、多次元配列を扱うことができます。int型の2次元配列は、次のように宣言します。int[] a;多次元配列の中で最もシンプルな形式が2次元配列です。2次元配列とは、1次元配列を要素として持つ配列、すなわち「配列の配列」のような構造をイメージすると分かりやすいでしょう。例えば、次の図は3行4列の2次元配列を表しています。多次元配列の使用例ここからは、実際にC#で多次元配列を操作するサンプルコードを見ていきましょう。以下の例では、5行2列の2次元配列を宣言・初期化し、入れ子になったforループですべての要素を出力します。using System; namespace ArrayApplic