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

หาความต่างระหว่างผลรวมของเส้นทแยงมุมสองเส้นในเมทริกซ์ด้วย C++

ที่นี่เราจะดูวิธีหาความต่างระหว่างผลรวมของเส้นทแยงมุมสองเส้น (Diagonals) ของเมทริกซ์ที่กำหนด สมมติว่าเรามีเมทริกซ์ขนาด N x N เราต้องหาผลรวมของเส้นทแยงมุมหลัก (Primary) และเส้นทแยงมุมรอง (Secondary) แล้วหาความต่างของพวกมัน เพื่อหาเส้นทแยงมุมหลัก เรารู้ว่าดัชนีแถวและดัชนีคอลัมน์เพิ่มขึ้นพร้อมกัน สำหรับเส้นทแยงมุมที่สอง ค่าดัชนีแถวและคอลัมน์เพิ่มขึ้นตามสูตร 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