Home » Java programs » Java array programs

Java program to check whether a matrix is symmetric or not



In this java program, we are reading a matrix and check whether input matrix is a symmetric matrix or not?
Submitted by IncludeHelp, on December 30, 2017

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

    Inputting the elements of the Matrix : n
    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.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ExArrayFindSymmetric 
{
	public static void main(String args[])throws IOException
	{
		// create buffer class object.
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

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

		// Check for rows and column.
		if(m>2 && m<10) 
		{  
			// enter the elements here.
			System.out.println("\nInputting 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 : ");
					A[i][j]=Integer.parseInt(br.readLine());
				}
			}

			// 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

Inputting the elements of the Matrix : n
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

Inputting the elements of the Matrix : n
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....





Was this page helpful? YES NO

Are you a blogger? Join our Blogging forum.



Comments and Discussions


We are using Google to publish ads on our website; Google has its own privacy policies. They may save log, cookies on your system. Google may also collect information of your system like IP address, region, city, country. For more details please go through the Google’s privacy policy.