Java Program to Accept a Matrix of Order M x N & Interchange the Diagonals - GeeksforGeeks

09 Aug, 2021
Problem Description: Write a Java program that accepts a matrix of M × N order and then interchange diagonals of the matrix.
Steps:  
1. We can only interchange diagonals for a square matrix.
2. Create a square matrix of size [M × M].
3. Check the matrix is a square matrix or not. If the matrix is square then follow step 3 else terminate the program.
4. Apply logic for interchange diagonal of the matrix some logic is given below.
Method 1: Swap element a[i][i] and a[i][n – i -1]
               for (j = 0; j < m; j++) {
               temp = a[j][j];
               a[j][j] = a[j][n – 1 – j];
               a[j][n – 1 – j] = temp;
           }
Example:
Java
//  Java Program to Accept a Matrix of Order M x N &//  Interchange the Diagonals import java.util.Scanner;public class InterchangeDiagonals {    public static void main(String[] args)    {        // declare variable        int m, n, i, j, temp;         // create a object of scanner class        Scanner sc = new Scanner(System.in);        System.out.print("Enter number of rows ");         // take number of rows        m = sc.nextInt();         System.out.print("Enter number of columns ");         // take number of columns        n = sc.nextInt();         // declare a mxn order array        int a[][] = new int[m][n];         // if block it's execute when m is equals to n        if (m == n) {            System.out.println(                "Enter all the values of matrix ");             // take the matrix inputs            for (i = 0; i < m; i++) {                for (j = 0; j < n; j++) {                    a[i][j] = sc.nextInt();                }            }             System.out.println("original Matrix:");             // print the original matrix            for (i = 0; i < m; i++) {                for (j = 0; j < n; j++) {                    System.out.print(a[i][j] + " ");                }                System.out.println("");            }             // perform interchange            for (j = 0; j < m; j++) {                temp = a[j][j];                a[j][j] = a[j][n - 1 - j];                a[j][n - 1 - j] = temp;            }            System.out.println(                " after interchanging diagonals of matrix ");             // print interchanged matrix            for (i = 0; i < m; i++) {                for (j = 0; j < n; j++) {                    System.out.print(a[i][j] + " ");                }                System.out.println("");            }        }         // else block it's only execute when m is not equals        // to n        else {            System.out.println("Rows not equal to columns");        }    }}
  
Output:
Enter number of rows 3
Enter number of columns 3
Enter all the values of matrix  
1
2
3
4
5
6
7
8
9
Original Matrix:
1   2   3  
4   5   6  
7   8   9  
After interchanging diagonals of matrix  
3   2   1  
4   5   6  
9   8   7 
 
Example 2:
Java
//  Java Program to Accept a Matrix of Order MxN &//  Interchange the Diagonals import java.util.Scanner;public class InterchangeDiagonals {    public static void main(String[] args)    {        // declare variable        int m, n, i, j, temp;         // create a object of scanner class        Scanner sc = new Scanner(System.in);        System.out.print("Enter number of rows ");         // take number of rows        m = sc.nextInt();         System.out.print("Enter number of columns ");         // take number of columns        n = sc.nextInt();         // declare a mxn order array        int a[][] = new int[m][n];         // if block it's execute when m is equals to n        if (m == n) {            System.out.println(                "Enter all the values of matrix ");             // take input matrix            for (i = 0; i < m; i++) {                for (j = 0; j < n; j++) {                    a[i][j] = sc.nextInt();                }            }             System.out.println("original Matrix:");             // print original matrix            for (i = 0; i < m; i++) {                for (j = 0; j < n; j++) {                    System.out.print(a[i][j] + " ");                }                System.out.println("");            }             // performing interchange            for (j = 0; j < m; j++) {                temp = a[j][j];                a[j][j] = a[j][n - 1 - j];                a[j][n - 1 - j] = temp;            }            System.out.println(                " after interchanging diagonals of matrix ");             // print interchanged matrix            for (i = 0; i < m; i++) {                for (j = 0; j < n; j++) {                    System.out.print(a[i][j] + " ");                }                System.out.println("");            }        }         // else block it's only execute when m is not equals        // to n        else {            System.out.println("Rows not equal to columns");        }    }}
Output:
Enter number of rows 2
Enter number of columns 1
Enter all the values of matrix  
1
2
Rows not equal to columns
 
abhishek0719kadiyan
Java 8
Java-Output
Java.lang.Class
Output of Java Program
Technical Scripter 2020
Java
Java Programs
Technical Scripter
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
Stream In Java
Interfaces in Java
How to iterate any Map in Java
Initializing a List in Java
Convert a String to Character Array in Java
Java Programming Examples
Convert Double to Integer in Java
Implementing a Linked List in Java using Class