यहां हम देखेंगे कि किसी दिए गए मैट्रिक्स के दो विकर्णों के योग के बीच अंतर कैसे प्राप्त करें। मान लीजिए कि हमारे पास क्रम 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