Java >> Java tutorial >  >> Java

Java-program til at acceptere en matrix af orden M*N og udskifte diagonalerne

I denne øvelse lærer vi, hvordan man accepterer en matrix af orden M*N og udskifter diagonalerne. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.

Input: Indtast matrixen Elementer:

1 2 3

6 5 4

7 8 9

Output:

3 2 1

4 5 6

9 8 7

Program 1:Udskift diagonalerne i en matrix

I dette program vil vi se, hvordan man accepterer matrixen af ​​orden M*N og udskifter diagonalerne med brugerdefinerede værdier.

Algorithme

  1. Start
  2. Deklarer variabler for matrixstørrelsen.
  3. Bed brugeren om at initialisere matrixrækkerne og kolonnerne
  4. Tjek, om antallet af rækker og kolonner er ens eller ej.
  5. Hvis lig, så bed brugeren om at initialisere matrixen.
  6. Udskriv den originale matrix.
  7. Skift de diagonale elementer.
  8. Udskriv den udskiftede matrix.
  9. Hvis rækker og kolonner ikke er ens, skal du udskrive den samme meddelelse.
  10. Stop

Nedenfor er koden til det samme.

//Java Program to interchange the diagonals*/
import java.util.Scanner; 

public class Main 
{ 
    public static void main(String[] args) 
    { 
        // declare variables 
        int m, n, temp; 
  
        // To take input from the user
        Scanner sc = new Scanner(System.in); 
        System.out.println("Enter number of rows "); 
  
        // Initialize the number of rows 
        m = sc.nextInt(); 
  
        System.out.println("Enter number of columns "); 
  
        // Initialize the number of columns 
        n = sc.nextInt(); 
  
        // declare a mxn order array 
        int a[][] = new int[m][n]; 
  
        // Interchange the diagonals only when it is a square matrix
        if (m == n) 
        { 
            System.out.println("Enter all the values of matrix "); 
  
            // Initialize the matrix elements
            for (int i = 0; i < m; i++) 
            { 
                for (int j = 0; j < n; j++) 
                { 
                    a[i][j] = sc.nextInt(); 
                } 
            } 
  
            System.out.println("Original Matrix:"); 
  
            // print the original matrix 
            for (int i = 0; i < m; i++) { 
                for (int j = 0; j < n; j++) { 
                    System.out.print(a[i][j] + " "); 
                } 
                System.out.println(""); 
            } 
  
            // Interchange the diagonals by swapping 
            for (int 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 (int i = 0; i < m; i++) { 
                for (int j = 0; j < n; j++) { 
                    System.out.print(a[i][j] + " "); 
                } 
                System.out.println(""); 
            } 
        }       
        else 
        { 
            System.out.println("Rows not equal to columns"); 
        } 
    } 
}


Indtast antal rækker 3
Indtast antal kolonner 3
Indtast alle værdierne af matrix 1 2 3 4 5 6 7 8 9
Original Matrix:
1 2 3
4 5 6
7 8 9
Efter udskiftning af diagonaler af matrix
3 2 1
4 5 6
9 8 7

Program 2:Udskift diagonalerne i en matrix

I dette program vil vi se, hvordan man accepterer matrixen af ​​orden M*N og udskifter diagonalerne med foruddefinerede værdier.

Algorithme

  1. Start
  2. Deklarer og initialiser matrixstørrelsen.
  3. Tjek, om antallet af rækker og kolonner er ens eller ej.
  4. Hvis ens, så initialiser elementerne i matrixen.
  5. Udskriv den originale matrix.
  6. Kald en metode til at udveksle diagonalerne.
  7. Skift de diagonale elementer.
  8. Udskriv den udskiftede matrix.
  9. Hvis rækker og kolonner ikke er ens, skal du udskrive den samme meddelelse.
  10. Stop

Nedenfor er koden til det samme.

//Java Program to interchange the diagonals*/
import java.util.*; 

public class Main 
{ 
    //Method to interchange the diagonals
    static void interchangeDiagonals(int arr[][])
    {
        int temp=0;   
        int m=arr.length;     //Variable to store the number of rows
        int n=arr[0].length;  //Variable to store the number of columns
         System.out.println("Original Matrix:"); 
  
            // print the original matrix 
            for (int i = 0; i < m; i++) 
            { 
                for (int j = 0; j < n; j++) 
                { 
                    System.out.print(arr[i][j] + " "); 
                } 
                System.out.println(""); 
            } 
  
            // Interchange the diagonals by swapping 
            for (int j = 0; j <m; j++) 
            { 
                temp = arr[j][j]; 
                arr[j][j] = arr[j][n - 1 - j]; 
                arr[j][n - 1 - j] = temp; 
            } 
            System.out.println("After interchanging diagonals of matrix "); 
  
            // print interchanged matrix 
            for (int i = 0; i < m; i++) { 
                for (int j = 0; j < n; j++) { 
                    System.out.print(arr[i][j] + " "); 
                } 
                System.out.println(""); 
            }    
    }
    public static void main(String[] args) 
    { 
        // declare variables 
        int rows=3, columns=3; 
        // Interchange the diagonals only when it is a square matrix
        if (rows == columns) 
        { 
           int arr[][]  = { { 2, 9, 8 }, { 7, 6, 4 }, { 3, 9, 2 } };   //Matrix Declaration
           interchangeDiagonals(arr);
        }
        else 
        { 
            System.out.println("Rows not equal to columns"); 
        } 
    } 
}


Original matrix:
2 9 8
7 6 4
3 9 2
Efter udskiftning af diagonaler på matrixen
8 9 2
7 6 4
2 9 3


Java tag