Java 程序交换对角线

javacampus interviewserver side programmingprogramming

在本文中,我们将了解如何交换对角线。矩阵的元素按行和列排列。具有 m 行和 n 列的矩阵可以称为 m × n 矩阵。

矩阵中的各个条目称为元素,可以用 a[i][j] 表示,这表明元素 a 存在于第 i 行和第 j 列。

下面是相同的演示 −

假设我们的输入是

矩阵定义为:
4 5 6
1 2 3
7 8 9

期望的输出将是

交换元素后的矩阵:
6 5 4
1 2 3
9 8 7

算法

步骤 1 - 开始
步骤 2 - 声明一个整数矩阵,即 input_matrix,以及两个整数值,即 matrix_size 和 temp。
步骤 3 - 定义值。
步骤 4 - 使用多个 for 循环迭代矩阵的每个元素,并使用临时变量交换矩阵所需的元素。
步骤 5 - 显示结果
步骤 5 - 停止

示例 1

在这里,我们将所有操作都绑定在‘main’函数下。

public class InterchangeDiagonals {
   public static int matrix_size = 3;
   public static void main (String[] args) {
      int input_matrix[][] = {
         {4, 5, 6},
         {1, 2, 3},
         {7, 8, 9}
      };
      System.out.println("该矩阵定义为: ");
      for (int i = 0; i < matrix_size; i++) {
         for (int j = 0; j < matrix_size; j++) {
            System.out.print(input_matrix[i][j] + " ");
         }
         System.out.println();
      }
      for (int i = 0; i < matrix_size; ++i)
         if (i != matrix_size / 2) {
            int temp = input_matrix[i][i];
            input_matrix[i][i] = input_matrix[i][matrix_size - i - 1];
            input_matrix[i][matrix_size - i - 1] = temp;
         }
         System.out.println("\nThe matrix after interchanging the elements: ");
         for (int i = 0; i < matrix_size; ++i) {
            for (int j = 0; j < matrix_size; ++j)
               System.out.print(input_matrix[i][j]+" ");
            System.out.println();
         }
      }
}

输出

矩阵定义为:
4 5 6
1 2 3
7 8 9

交换元素后的矩阵:
6 5 4
1 2 3
9 8 7

示例 2

在这里,我们将操作封装成展现面向对象编程的函数。

public class InterchangeDiagonals {
   public static int matrix_size = 3;
   static void interchange_diagonals(int input_matrix[][]) {
      for (int i = 0; i < matrix_size; ++i)
      if (i != matrix_size / 2) {
         int temp = input_matrix[i][i];
         input_matrix[i][i] = input_matrix[i][matrix_size - i - 1];
         input_matrix[i][matrix_size - i - 1] = temp;
      }
      System.out.println("\nThe matrix after interchanging the elements: ");
      for (int i = 0; i < matrix_size; ++i) {
         for (int j = 0; j < matrix_size; ++j)
         System.out.print(input_matrix[i][j]+" ");
         System.out.println();
      }
   }
   public static void main (String[] args) {
      int input_matrix[][] = {
         {4, 5, 6},
         {1, 2, 3},
         {7, 8, 9}
      };
      System.out.println("该矩阵定义为: ");
      for (int i = 0; i < matrix_size; i++) {
         for (int j = 0; j < matrix_size; j++) {
            System.out.print(input_matrix[i][j] + " ");
         }
         System.out.println();
      }
      interchange_diagonals(input_matrix);
   }
}

输出

矩阵定义为:
4 5 6
1 2 3
7 8 9

交换元素后的矩阵:
6 5 4
1 2 3
9 8 7

相关文章