Существует квадратная матрица 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