6-2-3 数组综合应用 第1关:求转置矩阵

任务描述

本关任务: 输入9个整数,按3行3列的格式存入二维数组ma,按矩阵的格式输出数组ma;计算矩阵ma的转置矩阵mb;按矩阵的格式输出数组mb。

转置矩阵

相关知识

为了完成本关任务,你需要掌握:1. 数组的创建,2.如何遍历数组,3.如何求转置矩阵。

本题思路为: (以2*3的矩阵为例) 设矩阵a和b分别用二维数组a[2][3] 和b[3][2]表示,则任务实现的步骤如下。 (1)输入2行3列的6个数据,分别存入数组a中,可用双重循环实现; (2)计算转置矩阵:分析数组a中的每个元素a[i][j]应该赋给数组b中的哪个元素?
a[0][0] --> b[0][0] a[0][1] --> b[1][0] a[0][2] --> b[2][0] a[1][0] --> b[0][1] a[1][1] --> b[1][1] a[1][2] --> b[2][1] 分析规律:对于每个数组元素a[i][j],应该放到数组b中的元素b[j][i]的位置。 然后用双重循环遍历数组a,将每个元素赋给b中的对应元素即可。 (3)输出数组b的元素,按行输出,即为矩阵的样式。可用双重循环实现遍历数组b,将每个元素输出。注意输出一行后要换行。

编程要求

根据提示,在右侧编辑器补充代码 。

测试说明

平台会对你编写的代码进行测试:

测试输入:1 2 3 4 5 6 7 8 9 ; 预期输出: 原始矩阵 1 2 3 4 5 6 7 8 9 转置后的矩阵 1 4 7 2 5 8 3 6 9


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

import java.util.Scanner;

public class ExchangeMatrix {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 读取数据填充二维数组ma
        int[][] ma = new int[3][3];
        System.out.println("原始矩阵");
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                ma[i][j] = scanner.nextInt();
            }
        }

        // 输出原始矩阵
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.printf("%5d", ma[i][j]);
            }
            System.out.println();
        }

        // 计算转置矩阵mb
        int[][] mb = new int[3][3];
        System.out.println("转置后的矩阵");
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                mb[j][i] = ma[i][j];
            }
        }

        // 输出转置矩阵
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.printf("%5d", mb[i][j]);
            }
            System.out.println();
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值