Примеры кода

Алгоритмы обработки матриц

Сумма главной диагонали

static int MainDiagonalSum(int[,] matrix)
{
    int sum = 0;
    // Длина диагонали равна минимуму из количества строк и столбцов
    int size = Math.Min(matrix.GetLength(0), matrix.GetLength(1));
    
    for (int i = 0; i < size; i++)
    {
        // Элементы главной диагонали имеют одинаковые индексы [i,i]
        sum += matrix[i, i];
    }
    return sum;
}

Поиск максимального элемента во всей матрице

static int FindMatrixMax(int[,] matrix)
{
    int max = matrix[0, 0];
    for (int i = 0; i < matrix.GetLength(0); i++)
    {
        for (int j = 0; j < matrix.GetLength(1); j++)
        {
            if (matrix[i, j] > max)
            {
                max = matrix[i, j];
            }
        }
    }
    return max;
}

Вывод матрицы в консоль

static void PrintMatrix(int[,] matrix)
{
    for (int i = 0; i < matrix.GetLength(0); i++)
    {
        for (int j = 0; j < matrix.GetLength(1); j++)
        {
            Console.Write($"{matrix[i, j]}\t");
        }
        Console.WriteLine();
    }
}