Для заданной целочисленной квадратной матрицы найти максимум среди сумм элементов диагоналей, параллельной главной диагонали. Главная диагональ - тоже диагональ.

Подсказки:

#include <stdio.h>

#include "test.h"

#define N 3  // это число может поменяться!

// max_diag - считает сумму всех диагоналей, параллельных главной диагонали.
// Среди всех сумм диагоналей, выбирает максимальную и возвращает как результат.
int max_diag(int matrix[N][N]) {
  // TODO: напиши меня!
  // hint: сколько у нас диагоналей?
  return matrix[0][0];
}

void cli(void) {
  // 1. введите матрицу через консоль
  // 2. напечатайте результат вызова функции max_diag.
  printf("Введине матрицу A[%d][%d]\\n", N, N);
  // hint: используйте scanf и printf
}

void test(void) {
  // Это тесты. НЕ УДАЛЯЙТЕ ИХ!
  // Преподаватель будет грустить, если вы удалите тесты T_T.
  // Тесты проверяют, что ваш код работает правильно.
  // Если задача решена неправильно,
  // то в консоли вы увидите ошибку и пояснение.
  // Сдавайте лабу, когда устраните все ошибки в тестах.
  // Если возникли трудности, то попросите преподавателя вам помочь ^_^.

  if (N == 3) {
    {
      int a[N][N] = {{8, 1, 1}, {1, 0, 1}, {1, 1, 0}};
      ASSERT_INT(8, ==, max_diag(a));
    }

    {
      int a[N][N] = {{1, 1, 4}, {1, 1, 1}, {1, 1, 1}};
      ASSERT_INT(4, ==, max_diag(a));
    }

    {
      int a[N][N] = {{1, 1, 1}, {1, 1, 1}, {1, 1, 1}};
      ASSERT_INT(3, ==, max_diag(a));
    }
  }
}

int main(void) {
  test();
  cli();
}