在这里,我们将看到如何获得给定矩阵的两个对角线之和之间的差。假设我们有一个N x N阶的矩阵,我们必须获得主要和次要对角线的总和,然后求出它们的差。为了得到主要对角线,我们知道行索引和列索引同时增加。对于第二个对角线,行索引和列索引值通过此公式增加row_index = n – 1 – col_index。得到总和后,求和并返回结果。
#include<iostream>
#include<cmath>
#define MAX 100
using namespace std;
int diagonalSumDifference(int matrix[][MAX], int n) {
   int sum1 = 0, sum2 = 0;
   for (int i = 0; i < n; i++) {
      sum1 += matrix[i][i];
      sum2 += matrix[i][n-i-1];
   }
   return abs(sum1 - sum2);
}
//驱动程序
int main() {
   int n = 3;
   int matrix[][MAX] = {
      {11, 2, 4},
      {4 , 5, 6},
      {10, 8, -12}
   };
   cout << "Difference of the sum of two diagonals: " << diagonalSumDifference(matrix, n);
}输出结果
Difference of the sum of two diagonals: 15