练习-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

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。

例: 测试输入:无 预期输出:

 
 
  1. 5 15 32 11 4
  2. 6 65 43 88 98
  3. 7 43 22 6 66

开始你的任务吧,祝你成功!

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

Guess you like

Origin blog.csdn.net/qq_53149358/article/details/121304866