Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm hiệu giữa tổng của hai đường chéo trong C ++.

Ở đây chúng ta sẽ xem làm thế nào để có được sự khác biệt giữa tổng của hai đường chéo của một ma trận nhất định. Giả sử chúng ta có một ma trận bậc N x N, chúng ta phải lấy tổng các đường chéo chính và phụ, sau đó lấy hiệu của chúng. Để có được đường chéo chính, chúng ta biết rằng chỉ số hàng và chỉ số cột tăng đồng thời. Đối với đường chéo thứ hai, giá trị chỉ số hàng và chỉ số cột được tăng theo công thức này row_index =n - 1 - col_index. Sau khi nhận được tổng, hãy lấy phần chênh lệch và trả về một kết quả.

Ví dụ

#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);
}

Đầu ra

Difference of the sum of two diagonals: 15