计算矩阵对角线之和的 Java 程序
对于给定的 2D 方阵,任务是找出主对角线和次对角线上的元素之和。例如,分析以下 4 × 4 输入矩阵。
a00 a01 a02 a03
a10 a11 a12 a13
a20 a21 a22 a23
a30 a31 a32 a33
进场:
1。主对角线由元素 a00、a11、a22、a33 构成,主对角线的行列条件为
row = column
2。然而,次对角线由元素 a03、a12、a21、a30 构成,并且次对角线的行列条件为
row = number_of_rows – column -1
插图:
Input 1 : 6 7 3 4
8 9 2 1
1 2 9 6
6 5 7 2
Output 1 : *Principal Diagonal:* 26
*Secondary Diagonal:* 14
Input 2 : 2 2 2
1 1 1
3 3 3
Output 2 : *Principal Diagonal:* 6
*Secondary Diagonal:* 6
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java Program to Find the Sum of Diagonals of a Matrix
// Importing input output classes
import java.io.*;
// Main Class
public class GFG {
// Method 1
// To calculate Sum of Diagonals
static void Sum_of_Diagonals(int[][] matrix, int N)
{
// Declaring and initializing two variables to zero
// initially for primary and secondary diagonal
// count
int Pd = 0, Sd = 0;
// Two Nested for loops for iteration over a matrix
// Outer loop for rows
for (int k = 0; k < N; k++) {
// Inner loo pfo columns
for (int l = 0; l < N; l++) {
// Condition for the principal
// diagonal
if (k == l)
Pd += matrix[k][l];
// Condition for the secondary diagonal
if ((k + l) == (N - 1))
Sd += matrix[k][l];
}
}
// Print and display the sum of primary diagonal
System.out.println("Sum of Principal Diagonal:"
+ Pd);
// Print and display the sum of secondary diagonal
System.out.println("Sum of Secondary Diagonal:"
+ Sd);
}
// Method 2
// Main driver method
static public void main(String[] args)
{
// Input integer array
// Custom entries in an array
int[][] b = { { 8, 2, 13, 4 },
{ 9, 16, 17, 8 },
{ 1, 22, 3, 14 },
{ 15, 6, 17, 8 } };
// Passing the array as an argument to the function
// defined above(Method1-to compute sum of
// diagonals)
Sum_of_Diagonals(b, 4);
}
}
Output
Sum of Principal Diagonal:35
Sum of Secondary Diagonal:58
版权属于:月萌API www.moonapi.com,转载请注明出处