Home  >  Article  >  Web Front-end  >  JavaScript program to find the difference between the sum of two diagonals

JavaScript program to find the difference between the sum of two diagonals

WBOY
WBOYforward
2023-09-09 21:13:061148browse

JavaScript 程序查找两条对角线之和之间的差异

We will find the difference between the sum of the two diagonals of the square matrix. First, we will calculate the sum of the elements present in the first diagonal by traversing the matrix from the upper left corner to the lower right corner. Second, we will calculate the sum of the elements present in the second diagonal by traversing the matrix from the upper right corner to the lower left corner. Finally, we subtract the sum of the second diagonal from the sum of the first diagonal to get the difference between the two diagonals.

method

  • To find the difference between the sum of the two diagonals of a square matrix, the first step is to define a function that takes the matrix as input.

  • Next, you need to loop through the matrix and calculate the sum of the elements present in the first diagonal (from top left to bottom right).

  • Similarly, calculate the sum of elements present in the second diagonal (from top right to bottom left)

  • Subtract the second diagonal sum from the first diagonal sum and store the result in a variable.

  • Returns the result variable, which is the difference between the sum of the two diagonals of the square matrix.

Example

This is a JavaScript program that calculates the difference between the sum of two diagonals of a matrix -

function diagonalDifference(arr) {
   let leftToRightDiagonalSum = 0;
   let rightToLeftDiagonalSum = 0;
   let matrixSize = arr.length;
   for (let i = 0; i < matrixSize; i++) {
      leftToRightDiagonalSum += arr[i][i];
      rightToLeftDiagonalSum += arr[i][matrixSize - 1 - i];
   }
   return Math.abs(leftToRightDiagonalSum - rightToLeftDiagonalSum);
}
let matrix = [[1, 2, 3], [4, 5, 6], [9, 8, 9]];
console.log(diagonalDifference(matrix));

illustrate

  • FunctiondiagonalDifference takes a two-dimensional array (matrix) as a parameter.

  • Declare two variables leftToRightDiagonalSum and rightToLeftDiagonalSum are used to store the sum of the left-to-right diagonal and right-to-left diagonal respectively.

  • The size of the matrix is ​​stored in the matrixSize variable.

  • The for loop is used to iterate the matrix. On each iteration, the current value in the matrix is ​​added to the sum of the two diagonals.

  • To calculate the left-to-right diagonal sum, add the values ​​at the same position in the row and column to leftToRightDiagonalSum.

  • To calculate the diagonal sum from right to left, subtract the value in the row at the same position as the column from matrixSize - 1. This is because the right-to-left-left diagonal is in the opposite direction of the left-to-right diagonal.

  • Use the Math.abs function to calculate the absolute difference between the sum of two diagonals and return it as the result.

  • Declare the example matrix and pass it to the diagonalDifference function and log the results to the console.

The output of this program should be 2, which is the difference between the sum of the two diagonals of the sample matrix.

The above is the detailed content of JavaScript program to find the difference between the sum of two diagonals. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete