在 C++ 中查找两个对角线和的差。
在本文中,我们来看看如何获取给定矩阵中两条对角线和的差。假设我们有一个 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);
}
// Driven Program
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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP