Подача двумерного массива - PullRequest
0 голосов
/ 11 мая 2019

нужно сделать arr[n,n], что даст результат как [0,0] = 0 [0,1] = 1 [0,2] = 3 [0,3] = 6 [1,1] = 0 [1,2] = 2 [1,3] = 5 [2,2] = 0 [2,3] = 3 [3,3] = 0

Попытка скормить это arr с помощью двух for циклов. Во всяком случае, не могу понять, как установить условия для его создания, как я хочу.

Любая подсказка приветствуется.

Я пытался заполнить массив двумя for циклами, где я пытался суммировать значения. Когда я начинаю набирать код, возникает так много ошибок.

E: Нужно решить последнюю if (else if (i > j && j == 0)), проблема за гранью. Любая идея? Не хочу тасовать все. Необходимо рассчитать значение [1-4,0].

== [4,0] = 5, [3,0] = 9, [2,0] = 12, [1,0] = 14


Console.Write("Zadejte n: ");
            int n = Convert.ToInt32(Console.ReadLine()) ;
            int[,] array_prava = new int[n, n];
            int[,] array_leva = new int[n, n];
            int pulka = n / 2;

            for (int i = 0; i < n; i++) // array_prava
            {
                for (int j = 0; j < n; j++)
                {
                    if (i == j)
                    {
                        array_prava[i, j] = Math.Abs(j - i) + array_prava[i, j];
                        Console.WriteLine("[" + i + "," + j + "] " + array_prava[i, j]);
                    }
                    else if (j > i)
                    {
                        array_prava[i, j] = Math.Abs(j - i) + array_prava[i, j - 1] + i;

                        Console.WriteLine("11[" + i + "," + j + "] " + array_prava[i, j]);
                    }
                    else if (i > j && j == 0){
                        array_prava[i, j] = Math.Abs(j - i) + array_prava[i, j - 1] + i;
                        Console.WriteLine("22[" + i + "," + 0 + "] " + array_prava[i, 0]);
                    }

                }
                //   Console.Write("----------------------------\n");


            }

любая подсказка приветствуется

1 Ответ

1 голос
/ 11 мая 2019

Понял.

for (int i = 0; i < n; i++) // array_prava
{
    for (int j = 0; j < n; j++)
    {
        if (i == j)
        {
            array_prava[i, j] = Math.Abs(j - i) + array_prava[i, j];
            Console.WriteLine("[" + i + "," + j + "] " + array_prava[i, j]);
        }
        else if (j > i)
        {
            array_prava[i, j] = Math.Abs(j - i) + array_prava[i, j - 1] + i;

            Console.WriteLine("11[" + i + "," + 0 + "] " + array_prava[i, 0]);
        }
    }
}
...