Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาความแตกต่างระหว่างผลรวมของเส้นทแยงมุมสองเส้นใน 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