0

入力番号を使用して 3x3 マトリックスを作成し、番号を小さい方から大きい方へ順序付けて、1、2、3、4、5、6、7、8、9 のような渦のようにマトリックスに配置し、番号を配置したいと思います。 1 ~ 0.0 位置、2 ~ 0.1、3 ~ 0.2、4 ~ 1.2、5 ~ 2.2、6 ~ 2.1、7 ~ 2.0、8 ~ 1.0、9 ~ 1.1。

const int MATRIX_ROWS = 3;
        const int MATRIX_COLUMNS = 3;
        List<int> l = new List<int>(l);

        double[,] matrix = new double[MATRIX_ROWS, MATRIX_COLUMNS];
        for (int i = 0; i < MATRIX_ROWS * MATRIX_COLUMNS; ++i)
        {
            int input;
            Console.Write("Enter value");
            while (!int.TryParse(Console.ReadLine(), out input))
            {
                Console.Write("Enter correct value!");
            }
            l.Add(input);
        }
        l.Sort();
        for (int i = 0; i < MATRIX_ROWS; i++)
        {
            for (int j = 0; j < MATRIX_COLUMNS; j++)
            {
                matrix[i, j] = l[i * 3 + j];
            }

入力番号を取得するためにそのように開始し、2番目の部分のヘルプが必要です.

4

2 に答える 2

0

As I see it - you can declare a List<int> l somewhere at the beginning, read the whole data by l.Add(x); then perform l.Sort() and after the data is sorted - populate your matrix. Let me know if you have further questions.

So you will get something like

const int MATRIX_ROWS = 3;
const int MATRIX_COLUMNS = 3;
List<int> l = new List<int>();

double[,] matrix = new double[MATRIX_ROWS, MATRIX_COLUMNS];
for (int i = 0; i < MATRIX_ROWS * MATRIX_COLUMNS; ++i)
{
        double input;
        Console.Write("Enter value");
        while (!double.TryParse(Console.ReadLine(), out input))
        {
            Console.Write("Enter correct value!");
        }
        l.Add(input);
}
l.Sort();
for (int i = 0; i < MATRIX_ROWS; i++)
{
    for (int j = 0; j < MATRIX_COLUMNS; j++)
    {
        matrix[i, j] = l[i*3 + j];
    }
}
于 2013-10-13T13:14:11.063 に答える