Q:

Java program to check whether a matrix is symmetric or not

Given a matrix and we have to check whether it is symmetric or not using Java program?

Symmetric Matrix

If the sum of the left diagonal and right diagonal of the matrix is equal then the above matrix is said to be symmetric matrix. The entries of a symmetric matrix are symmetric with respect to the main diagonal.

Example:

```    Enter the number of elements : 3

Input the elements of the Matrix :
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11

The Original Matrix is :
11	11	11
11	11	11
11	11	11

The given Matrix is Symmetric
The sum of the left diagonal = 33
The sum of the right diagonal = 33
```

Program to check matrix is symmetric or not in java

``````// This program will find weather
// the matrix is symmetric or not.

import java.io.IOException;

public class ExArrayFindSymmetric {
public static void main(String args[]) throws IOException {
// create buffer class object.

// enter how many elements you have to enter.
System.out.print("Enter the number of elements : ");
int A[][] = new int[m][m];

// Check for rows and column.
if (m > 2 && m < 10) {
// enter the elements here.
System.out.println("\nInput the elements of the Matrix : \n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
System.out.print("Enter the elements : ");
}
}

// here the original matrix.
System.out.println("\nThe Original Matrix is : ");
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
System.out.print(A[i][j] + "\t");
}
System.out.println();
}

// check weather matrix is symmetric or not.
int flag = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
if (A[i][j] != A[j][i]) {
// When elements do not matched.
flag = 1;
break;
}
}
}
// check for symmetric or not.
if (flag == 1)
System.out.println("\nThe given Matrix is Not Symmetric");
else
System.out.println("\nThe given Matrix is Symmetric");

// calculate sum of diagonals.
int ld = 0, rd = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
// for the left diagonal
if (i == j) {
ld = ld + A[i][j];
}
// for the right diagonal
if ((i + j) == (m - 1)) {
rd = rd + A[i][j];
}
}
}

// print sum of left and right diagonals.
System.out.println("The sum of the left diagonal = " + ld);
System.out.println("The sum of the right diagonal = " + rd);
} else
System.out.println("The Matrix Size is Out Of Range....");
}
}``````

Output

```First run:
Enter the number of elements : 3

Input the elements of the Matrix :
Enter the elements : 11
Enter the elements : 12
Enter the elements : 12
Enter the elements : 55
Enter the elements : 65
Enter the elements : 66
Enter the elements : 45
Enter the elements : 25
Enter the elements : 35

The Original Matrix is :
11	12	12
55	65	66
45	25	35

The given Matrix is Not Symmetric
The sum of the left diagonal = 111
The sum of the right diagonal = 122

Second run:
Enter the number of elements : 3

Input the elements of the Matrix :
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11
Enter the elements : 11

The Original Matrix is :
11	11	11
11	11	11
11	11	11

The given Matrix is Symmetric
The sum of the left diagonal = 33
The sum of the right diagonal = 33

Third run:
Enter the number of elements : 2
The Matrix Size is Out Of Range....
```