ที่นี่เราจะมาดูวิธีหาผลต่างระหว่างผลรวมของเส้นทแยงมุมสองเส้นของเมทริกซ์ที่กำหนด สมมติว่าเรามีเมทริกซ์ของลำดับ 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