Menu
Coddy logo textTech

2D Arrays Basics

CoddyのC#ジャーニー「ロジックとフロー」セクションの一部 — レッスン 1/66。

C# では、ジャグ配列は配列の配列であり、グリッドや行列のような構造を形成します。これは行と列を持つテーブルに似ており、各セルが値を保持できます。ジャグ配列は、チェスボード、座席表、またはグリッドベースのゲームなどの二次元関係を持つデータを表現するのに便利です。

C# でジャグド配列を宣言して初期化する方法は以下の通りです:

data_type[][] arrayName = new dataType[numberOfRows][];

dataType: 配列が保持する要素の型(例: int, string など)。

arrayName: 配列に付ける名前。

numberOfRows: 配列の行数。

その後、各行を個別に初期化する必要があります:

arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// and so on...

たとえば、3行を持ち、各行が4列の整数型のジャグ配列を作成するには、次のように記述します:

int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];

また、ジャグ配列を直接値で初期化することもできます:

int[][] matrix = new int[][] {
    new int[] {1, 2, 3},
    new int[] {4, 5, 6},
    new int[] {7, 8, 9}
};
challenge icon

チャレンジ

簡単

以下の値でジャグ配列を初期化してください:

5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6

これらの正確な値でジャグ配列を正しく初期化し、プログラムが行列を正しく出力することを確認してください。

チートシート

ジャグ配列は配列の配列であり、行と列を持つ行列のような構造を形成します。

宣言構文:

data_type[][] arrayName = new dataType[numberOfRows][];

各行は別々に初期化する必要があります:

arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];

別々の初期化の例:

int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];

値を使った直接初期化:

int[][] matrix = new int[][] {
    new int[] {1, 2, 3},
    new int[] {4, 5, 6},
    new int[] {7, 8, 9}
};

自分で試してみよう

using System;

class Program
{
    static void Main(string[] args)
    {
        int[][] matrix = {
            // ここにコードを記述してください
        };
        
        // マトリックスを出力
        int rows = matrix.Length;
        
        for (int i = 0; i < rows; i++)
        {
            int cols = matrix[i].Length;
            for (int j = 0; j < cols; j++)
            {
                Console.Write(matrix[i][j] + " ");
            }
            Console.WriteLine();
        }
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン