Поскольку код, который вы предоставили, является беспорядком. Вот некоторый общий код, который суммирует диагонали матрицы.
Рассмотрим матрицу с индексом i для строки и j для столбца. Если матрица квадратная, то существует только одно решение, поэтому при i == j достаточно сказать
double sum_diag = 0;
size_t rows = 10;
size_t cols = 10;
double** matrix = (malloc ...);
for (size_t i = 0; i < rows; ++i)
sum_diag += matrix[i][i];
для диагонали, идущей справа налево (не уверен, что это означает математически, если что-нибудь).
for (size_t j = 0; j < cols; ++j)
sum_diag += matrix[j][cols-j-1];