Получить сумму параллельных диагоналей в матрице - PullRequest
0 голосов
/ 10 апреля 2020

Существует квадратная матрица nxn . Задача состоит в том, чтобы определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы. Мне уже удалось правильно обработать матрицу и вывести эти элементы. Так, как я могу найти сумму каждой диагонали отдельно? Или, по крайней мере, как извлечь каждую диагональ отдельно при циклическом прохождении матрицы? Заранее спасибо!

        //Reverse rows of matrix
        static int[,] Reverse2DimArray(int[,] theArray)
        {
            for (int rowIndex = 0; rowIndex <= (theArray.GetUpperBound(0)); rowIndex++)
            {
                for (int colIndex = 0; colIndex <= (theArray.GetUpperBound(1) / 2); colIndex++)
                {
                    int tempHolder = theArray[rowIndex, colIndex];
                    theArray[rowIndex, colIndex] = theArray[rowIndex, theArray.GetUpperBound(1) - colIndex];
                    theArray[rowIndex, theArray.GetUpperBound(1) - colIndex] = tempHolder;
                }
            }
            return theArray;
        }


        static void Main(string[] args)
        {

            int[,] reversed = Reverse2DimArray(matrix);
            MatrixOutput(reversed, size);
            for (int y = 0; y < 2 * size; y++)
            {
                for (int x = 0; x < size; x++)
                {
                    if (0 <= y - x && y - x < size)
                        Console.WriteLine(reversed[y - x, x]);

                }
            }
        }

Что у меня сейчас:

3 6 2 9 5 1 8 4 7

Что мне нужно, это:

             1  2  3
             4  5  6
             7  8  9
            Diadonals: 3; 6,2; 9,5,1; 8,4; 7
            Sums: 3; 8; 15; 19
            Output: 19

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...