码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C/C++语言100题练习计划 94——矩阵转置(线性代数)


    名人说:博学之,审问之,慎思之,明辨之,笃行之。——《中庸》
    进度:C/C++语言100题练习计划专栏,目前94/100

    1.问题描述

    Problem Description

    输入一个 n n n 行 m m m 列的矩阵 A A A,输出它的转置 A T A^T AT。

    2.输入输出

    Input

    第一行包含两个整数 n n n 和 m m m,表示矩阵 A A A 的行数和列数。 1 ≤ n ≤ 100 1 \le n \le 100 1≤n≤100, 1 ≤ m ≤ 100 1 \le m \le 100 1≤m≤100。

    接下来 n n n 行,每行 m m m 个整数,表示矩阵 A A A 的元素。相邻两个整数之间用单个空格隔开,每个元素均在 1 ∼ 1000 1 \sim 1000 1∼1000 之间。

    Output

    n n n 行,每行 m m m 个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开。

    3.测试样例

    Sample Input

    3 3
    1 2 3
    4 5 6
    7 8 9
    

    Sample Output

    1 4 7
    2 5 8
    3 6 9
    

    二、源码实现

    #include
    using namespace std;
    const int maxn = 101;
    int n, m, a[maxn][maxn];
    
    int main() 
    {
    	//输入矩阵的行数n和列数m
        cin>>n>>m;
        //输入矩阵a
        for(int i = 1; i <= n; i++)
        {
    		for(int j = 1; j <= m; j++) 
    		{
    			cin>>a[i][j];
    		}
    	}
    	//输出"转置"后的矩阵a
        for(int j = 1; j <= m; j++) 
        {
    		for(int i = 1; i <= n; i++)
    		{
    			cout<<a[i][j]<<" ";
    		}
    		cout<<endl;
    	}
    		 
        return 0;
    }
    

    ★关于本题思路及举例:

    1、本题思路简述

    假设这里有个 n×m 的矩阵 A,然后我们将第 i 行第 j 列的元素变成新矩阵中的第 j 行第 i 列的元素,所得到的新的 m×n 矩阵就是我们的转置矩阵。
    但是在本题中,根据题意,我们只需要输出这个转置矩阵就可以了,因此并不需要真的转置,只需要先循环 j 再循环 i 输出就可以达到转置的效果了。

    2、举例

    在这里插入图片描述

    三、测试结果

    3 3
    1 2 3
    4 5 6
    7 8 9
    1 4 7
    2 5 8
    3 6 9
    
    --------------------------------
    Process exited after 1.423 seconds with return value 0
    请按任意键继续. . .
    
    

    Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder)
    如果对大家有帮助的话,希望大家能多多点赞+关注!这样我动力会更足哦! ღ( ´・ᴗ・` )比心

  • 相关阅读:
    按键的单击、双击、连续按、短按和长按实现思路
    SAP ABAP RESTFUL “x-www-form-urlencoded“ Body format
    计算机视觉基础学习-图像拼接
    计算机毕业设计Java课程作业管理系统(源码+mysql数据库+系统+lw文档)
    ros1 实现Server端自定义四 Topic模式控制海龟运动
    你知道.NET的字符串在内存中是如何存储的吗?
    32/100 二叉树的层序遍历 33/100 二叉树的最大深度 34/100 平衡二叉树
    [学习记录] SpringBoot 2. 底层注解
    《软件工程》期末题型
    83、SpringBoot --- 下载和安装 MSYS2、 Redis
  • 原文地址:https://blog.csdn.net/qq_51646682/article/details/126950193
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号