首先输入两个数字表示原矩阵为几行几列,再输入相应数值,最后回车即可求得转置后的矩阵,代码都有注释详解,参考了很多数据,说零基础也能看懂也不为过,希望能帮助大家。
#include<bits/stdc++.h>
using namespace std;
const int N =105;//定义初始化N的值,const int 作用即取代#define
int n,m,a[N][N];
int main()
{
//当cin<<从缓冲区中读取数字时,若缓冲区中第一个数字是空格、tab或者换行等这些分隔符时
//cin<<会将其忽略并清除,继续读取下一个字符,如果缓冲区为空则继续等待。
//但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin<<不做处理
//举个列子:cin>>a>>b>>c;(当你输入的数据为:10 回车 5 回车 74 回车)
// cout <<a<<""<<b<<""<<c<<""<<endl;(程序输出的结果为:10 空格 5 空格 74)
//(常把cin和流提取符">>"实现输入的语句称为输入语句或cin语句)
//(把cout和流插入运算符"<<"实现输出的语句称为输出语句或cout语句)
cin >> n >> m;//(先输入n行m列)
//cin语句的一般格式为:cin<<变量1<<变量2<<变量3<<......<<变量n;
for(int i = 1; i <=n ;i++)
for(int j = 1; j <=m;j++)
cin>> a[i][j];//(输入矩阵内的数据)
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
cout<<a[j][i]<<"";//(输出结果)
//cout语句的一般格式为:cout>>变量1>>变量2>>......>>变量n;
cout << endl;//(这玩意是小写的L不是数字1,输入错了会报错)
//简单来讲endl 表示换行,并刷新输出缓冲区。
//endl是一个操作符,是跟在"<<"运算符后面的。
}
return 0;
}
运行时为这样,输入的3、4表示原矩阵为三行四列的矩阵,接下来就是输入矩阵数值
【1 2 3 4】
【5 6 7 8】
【9 10 11 12】
运行后输出的即为转置后的结果