0
点赞
收藏
分享

微信扫一扫

练习-Java数组之二维数值数组之矩阵转置

扶摇_hyber 2022-01-22 阅读 89
java

任务描述

本关任务:对给定的矩阵做转置操作。 什么是矩阵:矩阵是一个由 m 行(row)n 列(column)元素排列成的矩形阵列,以下是一个 2 行 3 列的矩阵:

[120​95​−13−6​]

什么是矩阵转置:矩阵中的每个数可用第 i 行第 j 列来表示,比如以上矩阵中的 9 可表示为A12​,矩阵的转置就是把矩阵中所有元素的行列值交换,矩阵中的 9 通过转置后就变成了A21​。整个矩阵转置后数据如下:

⎣⎢⎡​19−13​2056​⎦⎥⎤​

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,转置以下矩阵,并输出转置后的结果,输出二维数组时注意数组中的每行数字之间用空格分开,每行中最后一个数字后面也要有一个空格。。 给定矩阵如下:

 
  1. 5 6 7
  2. 15 65 43
  3. 32 43 22
  4. 11 88 6
  5. 4 98 66
    public class Transpose {
        public static void main(String[] args) {
            // 请在Begin-End间编写代码
            /********** Begin **********/
            // 定义二维数组并初始化
                   int[][] array = new int[][]{{5,6,7},{15,65,43},{32,43,22},{11,88,6},{4,98,66}};
    
            // 定义转置后的新数组
            int x = array.length;
            int y = array[0].length;
            int[][] array1 = new int[y][x];
            // 转置数组
            for (int i = 0;i < array.length; i ++){
                for (int j = 0;j < array[i].length;j ++){
                    array1[j][i] = array[i][j];
                }
            }
            // 打印新数组
            for (int i = 0;i < y;i ++){
                for (int j = 0;j < x;j ++){
                    System.out.print(array1[i][j] + " ");
                }
                System.out.println();
            }
            /********** End **********/
            }
    }

举报

相关推荐

0 条评论