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

xiaoxiao2021-02-28  58

主函数输入二维数组元素,调用子函数(自定义),求转置后的二维数组,返回主函数输出结果。 可以运行的代码 #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 来源: https://zhidao.baidu.com/question/154168209.html 分析 #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; //} } 第一次写博客,内容很水,适合零基础的看,大家有什么意见欢迎指出,有新解释也可以提出
转载请注明原文地址: https://www.6miu.com/read-2620948.html

最新回复(0)