当前位置: 首页 > wzjs >正文

互助平台网站制作百度seo排名优化系统

互助平台网站制作,百度seo排名优化系统,网站导航栏有哪些,深圳专业商城网站《信息学奥赛一本通》第 105 题:矩阵转置 题目描述 输入一个 nnn 行 mmm 列的矩阵 AAA,输出它的转置 ATA^TAT。 输入格式 第一行包含两个整数 nnn 和 mmm,表示矩阵 AAA 的行数和列数。1≤n≤1001 \le n \le 1001≤n≤100,1≤m≤10…

《信息学奥赛一本通》第 105 题:矩阵转置

题目描述
输入一个 nnnmmm 列的矩阵 AAA,输出它的转置 ATA^TAT
输入格式
第一行包含两个整数 nnnmmm,表示矩阵 AAA 的行数和列数。1≤n≤1001 \le n \le 1001n1001≤m≤1001 \le m \le 1001m100
接下来 nnn 行,每行 mmm 个整数,表示矩阵 AAA 的元素。相邻两个整数之间用单个空格隔开,每个元素均在 1∼10001 \sim 100011000 之间。
输出格式
mmm 行,每行 nnn 个整数,为矩阵 AAA 的转置。相邻两个整数之间用单个空格隔开。
输入输出样例 #1
输入 #1
3 3
1 2 3
4 5 6
7 8 9
输出 #1
1 4 7
2 5 8
3 6 9

大家好,我是莫小特。
这篇文章给大家带来《信息学奥赛一本通》中的一百零五题:矩阵转置。

image.png

一、题目描述

洛谷的题号是:B2106 矩阵转置

image.png

二、题意分析

这道题是信息学奥赛一本通练习题的第 105 题,主要考察二维数组的应用。

首先根据输入格式的描述,输入一行包括两个整数 n 和 m,代表矩阵的行数和列数,数据范围都在 100 以内,所以使用 int 类型。

int n,m;
cin>>n>>m;

特别提醒,一定要注意输入的顺序,n 在前 m 在后。

接下来要输入 n 行,每行有 m 个整数,代表矩阵 A 的元素,使用 for 循环即可实现。

for(int i=1;i<=n;i++)
{for(int j=1;j<=m;j++){}
}

这些数据因为都需要输出,因此需要一个数据结构来存储,根据题目的意思,选用二维数组最佳,所以定义一个二维数组,并使用嵌套 for 循环输入。

int a[110][110];
for(int i=1;i<=n;i++)
{for(int j=1;j<=m;j++){cin>>a[i][j];}
}

输入完成后,我们来分析题意,根据题目描述,要求输入矩阵之后,直接输出它的转置。

转置是线性代数的内容,如果不太熟悉,我们可以阅读样例输入和样例输出来分析什么是转置。

我们发现样例输入的数据在样例输出中发现了变化,即行变成了列,列变成了行。

image.png

也就相当于说,行变列,列变行,在二维数组的具体表现就是 n 行 m 列的数据转换成 m 行 n 列的数据,所以代码可以用写成下面这样,注意,原来的行变成了列,对应的数据变化一定要正确,原本的行是 n 行,转变成列也应该是 n 列。

输出时,也不要忘记加换行!

for(int j=1;j<=m;j++)//原本的列变成了行 在外层循环
{for(int i=1;i<=n;i++)//原本的行变成了列 在内层循环{cout<<a[i][j]<<" ";//输出数据 用空格分隔}cout<<endl;//不要忘记换行!
}

按样例输入对数据进行验证。

image.png

数据正确,提交到网站测评。

image.png

测试通过!

三、完整代码

该题的完整代码如下:

#include <iostream>
#include <bits/stdc++.h> 
using namespace std;
int main()
{int n,m;cin>>n>>m;int a[110][110];for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];}}for(int j=1;j<=m;j++)//原本的列变成了行 在外层循环{for(int i=1;i<=n;i++)//原本的行变成了列 在内层循环{cout<<a[i][j]<<" ";//输出数据 用空格分隔}cout<<endl;//不要忘记换行!}return 0;
}

四、总结

本题考察了二维数组的定义与应用,以及行列变换的输出逻辑,在解题过程中,有以下几点需要注意:

1、转置的理解

很多没学过线性代数的同学,可能不太了解转置是意思,可以通过阅读样例输入和样例输出来辅助理解,利用现有提示来理解会比查阅资料更加方便。

2、转置的实现
输出时将原矩阵的列作为外层循环,原行作为内层循环,即 for(j) 外层,for(i) 内层,完成矩阵转置的逻辑。

---end---

如果你觉得这篇文章对你有帮助,欢迎点赞、收藏、关注我哦!
如果你有更好的方法,可以在评论区留言哦,一起进步~

我们下集见~

http://www.dtcms.com/wzjs/41204.html

相关文章:

  • 软文营销的写作技巧有哪些杭州上城区抖音seo有多好
  • wordpress导出htmlseo软件定制
  • 网站加载慢查企业信息查询平台
  • 做网站需要写那些xmind2023年最新新闻简短摘抄
  • 定制型网站制作电商平台运营方案思路
  • 贵州网站建设设计公司南京seo优化
  • 合肥网站建设多少钱网站快速收录
  • 网站关键字怎么写电脑培训学校课程
  • 建设人力资源服务网站工作方案短视频拍摄剪辑培训班
  • 深圳网站建设 独产品软文模板
  • 网站上传 404郑州关键词seo
  • 有哪些做问卷调查赚钱的网站微博推广
  • 专门做搜索种子的网站有哪些seo顾问合同
  • 正邦做网站吗南京seo全网营销
  • wordpress页面乱码代码上海谷歌seo推广公司
  • 怎样设置网站访问权限seo查询5118
  • 深圳网站优化团队seo服务 文库
  • 怎么样免费做网站企业推广网站
  • 兰州做网站优化关键词排名优化公司
  • 现在还有企业做网站吗制作网页多少钱
  • 做网站优化价格网站seo顾问
  • 米兰设计周中国高校设计官网天津百度快速排名优化
  • 佛山网站建设明细建筑设计网站
  • wordpress网站设计重庆seo推广服务
  • 网站的建设成本3d建模培训学校哪家好
  • 网站开发项目实训搭建网站教程
  • php网站制作过程中遇到的问题及解决办法做网站公司哪家比较好
  • 网站动态和静态的区别制定营销推广方案
  • 网站源码怎么上传镇江seo优化
  • 大连 响应式网站制作百度应用市场下载安装