Programa Java para aceptar una array de orden M x N e intercambiar las diagonales

Descripción del problema: escriba un programa Java que acepte una array de orden M × N y luego intercambie las diagonales de la array.

Pasos:  

1. Solo podemos intercambiar diagonales por una array cuadrada.

2. Cree una array cuadrada de tamaño [M × M].

3. Verifique que la array sea una array cuadrada o no. Si la array es cuadrada, siga el paso 3; de lo contrario, finalice el programa.

4. Aplique la lógica para la diagonal de intercambio de la array. A continuación se proporciona alguna lógica.

Método 1: Intercambiar elemento a[i][i] y a[i][n – i -1]

               para (j = 0; j < m; j++) {

               temperatura = a[j][j];

               a[j][j] = a[j][n – 1 – j];

               a[j][n – 1 – j] = temperatura;

           }

Ejemplo:

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");
        }
    }
}

Producción:

Introduzca el número de filas 3

Ingrese el número de columnas 3

Ingrese todos los valores de la array  

1

2

3

4

5

6

7

8

9

array original:

1 2 3  

4 5 6  

7 8 9  

Después de intercambiar las diagonales de la array  

3 2 1  

4 5 6  

9 8 7 

Ejemplo 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");
        }
    }
}

Producción:

Introduzca el número de filas 2

Introduzca el número de columnas 1

Ingrese todos los valores de la array  

1

2

Las filas no son iguales a las columnas

Publicación traducida automáticamente

Artículo escrito por mukulsomukesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *