C++ 矩阵的转置程序,详解,零基础学c++

主函数输入二维数组元素,调用子函数(自定义),求转置后的二维数组,返回主函数输出结果。
可以运行的代码
#include<iostream>
using namespace std;
float a[3][3];
int main()
{int i,j;
void change();
cout<<"请输入一个3*3的二维数组:"<<endl;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
cin>>a[i][j];
//cout<<"转制后的矩阵是:"<<change()<<endl;//
change();
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
void change()
{int i,j;
float t;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)//从i+1开始。执行交换
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
//{for(i=0;i<3;i++)
//{for(j=0;j<3;j++)
// return a[i][j];}//return 只返回一次,后面的语句不执行。
//cout<<endl;
//}
}
cin
分析
#include<iostream>调用输入输出文件
#include是个包含命令,就是把isdtream这个文件里的内容复制到这里;iostream.h是input output steam的简写,意思是标准的输入输出头文件,包含cin要输入的内容,cout 要输出的内容,这个是新标准
using namespace std;必须加的
float a[3][3];表示浮点型数组a的3行,3列;从0开始
int main()主函数
{int i,j;设置了两个整形的i,j变量;
void change();函数调用前必须声明
,位置可以放置定义的函数前任意位置;C由上往下的编译系统将无法识别,所以先告诉系统有个名字,这个名字要干你转置的内容;
cout<<"请输入一个3*3的二维数组:"<<endl;cout就是iostream库中的对象,开头调用istream的作用,在这里显现;《是插入符,是在屏幕输出;具体使用有两种情况1.cout<<"请输入:"<<endl;此处只说这一种;
for(i=0;i<3;i++) 
for(j=0;j<3;j++)该for仅一条语句,不加{},但是上一个for具体我也不知道,如果有有知道请告知
cin>>a[i][j];》是提取符号操作,话句话说就是用于存放输入的变量,此处,一次存一个;》后面可以跟很多个变量的;
//cout<<"转制后的矩阵是:"<<change()<<endl;//
change();开始第一个change是声明,此处是调用main之外的(定义)函数
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<" ";这句就是输出转置后的矩阵。等价于输出a[i][j];
cout<<endl;该处清除缓存区,否则内存就满了;
}
return 0;此处return和main前面的int对应;
}


函数定义,此处就完成交换转置函数,后续再说
void change()()空变量,main没有给他函数,void是返回空,一般把函数名change变量称为返回值。通俗点来说就是函数执行完毕后得到的结果,此处没有。
{int i,j;
float t;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)//从i+1开始。执行交换
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
//{for(i=0;i<3;i++)
//{for(j=0;j<3;j++)
// return a[i][j];}//return 只返回一次,后面的语句不执行。
//cout<<endl;
//}
}
第一次写博客,内容很水,适合零基础的看,大家有什么意见欢迎指出,有新解释也可以提出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值