任务描述
本关任务:对给定的矩阵做转置操作。 什么是矩阵:矩阵是一个由 m 行(row)n 列(column)元素排列成的矩形阵列,以下是一个 2 行 3 列的矩阵:
[12095−13−6]
什么是矩阵转置:矩阵中的每个数可用第 i 行第 j 列来表示,比如以上矩阵中的 9 可表示为A12,矩阵的转置就是把矩阵中所有元素的行列值交换,矩阵中的 9 通过转置后就变成了A21。整个矩阵转置后数据如下:
⎣⎢⎡19−132056⎦⎥⎤
注意:矩阵可以用二维数组表示。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,转置以下矩阵,并输出转置后的结果,输出二维数组时注意数组中的每行数字之间用空格分开,每行中最后一个数字后面也要有一个空格。。 给定矩阵如下:
5 6 7
15 65 43
32 43 22
11 88 6
4 98 66
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例: 测试输入:无 预期输出:
5 15 32 11 4
6 65 43 88 98
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 **********/
}
}