Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 두 대각선의 합 사이의 차이를 찾습니다.

<시간/>

여기서 우리는 주어진 행렬의 두 대각선의 합 사이의 차이를 구하는 방법을 볼 것입니다. N x N 차수의 행렬이 있다고 가정하고 1차 대각선과 2차 대각선의 합을 구하고 그 차를 구해야 합니다. 주대각선을 얻으려면 행 인덱스와 열 인덱스가 동시에 증가한다는 것을 알고 있습니다. 두 번째 대각선의 경우 행 인덱스 및 열 인덱스 값은 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