2010年2月19日金曜日

配列を要素とする配列、Jagged Arrayを定義してそれぞれの配列をLength Property,Rank Propertyとfor loop、ネスト(入れ子)を利用し、行列のように表示してみる。

using System;

class MainClass
{
    static void Main()
    {
        // ベースとなる配列のサイズを3
        var array = new int[3][,];

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

        Console.WriteLine(array.Length);
        Console.WriteLine(array.Rank);
        int i = 0;
        while (i < array.Length)
        {
            Console.WriteLine(array[i].Length);
            Console.WriteLine(array[i++].Rank);
        }
        Console.WriteLine();

        /* 出力値
         * 1 2
         * 3 4
         * 
         * 1 2 3 4
         * 5 6 7 8
         * 
         * 1 2 3
         * 4 5 6
         * */
        for (int l = 0; l < array.Length; l++)
        {
            for (int m = 0;m < array[l].Rank; m++)
            {
                for (int n = 0;
                    n < array[l].Length/array[l].Rank;
                    n++)
                {
                    Console.Write
                        ("{0} ", array[l][m, n]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
        }
    }
}

0 コメント:

コメントを投稿