C++如何实现转置矩阵的循环
导读:本文共2076字符,通常情况下阅读需要7分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 前言矩阵的转置主要考查我们对循环的使用,通过简单的循环结构,我们可以很方便的完成矩阵的转置。一、思路分析转置矩阵与原矩阵的区别在于行列交换,我们可以构建一个二维数组完成对原矩阵的存储,我们只需将每个元素与其行列相反的位置处的元素进行交换,就可完成对矩阵的转置。二、代码实现1.转置矩阵函数我们首先编写一个函数,完成对矩阵的转置。代码如下(示例):/*Alkaid#... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。前言
矩阵的转置主要考查我们对循环的使用,通过简单的循环结构,我们可以很方便的完成矩阵的转置。
一、思路分析
转置矩阵与原矩阵的区别在于行列交换,我们可以构建一个二维数组完成对原矩阵的存储,我们只需将每个元素与其行列相反的位置处的元素进行交换,就可完成对矩阵的转置。
二、代码实现
1.转置矩阵函数
我们首先编写一个函数,完成对矩阵的转置。
代码如下(示例):
/*Alkaid#3529*///转职矩阵函数,按照指定的矩阵大小将矩阵转置voidtranspose_matrix(intmatrix[10][10],inta);//函数实现voidtranspose_matrix(intmatrix[10][10],inta)//intmatrix[10][10]为存储矩阵的数组,inta为所需转置矩阵的大小{ intmid=0;//中间量,辅助值的传递 for(inti=0;i<a;i++)//从行开始,逐行检索 { for(intj=i+1;j<a;j++)//对该行每一列的元素检索 { //将对应位置的两个元素交换位置 mid=matrix[i][j]; matrix[i][j]=matrix[j][i]; matrix[j][i]=mid; } } return;}
2.调用函数实现转置矩阵
我们在主函数中只需调用已经写好的函数,对转置前后的矩阵分别输出即可。
代码如下(示例):
/*Alkaid#3529*/#include<iostream>usingnamespacestd;//转职矩阵函数,按照指定的矩阵大小将矩阵转置voidtranspose_matrix(intmatrix[10][10],inta);intmain(){ intmatrix[10][10]; intsize=0; for(inti=0;i<10;i++) { for(intj=0;j<10;j++) { matrix[i][j]=(i*i+j*i+j^i)%10; } } //读入要求的矩阵大小,方便起见,使用矩阵的默认值,默认为方阵 cout<<"请输入矩阵的尺寸(方便起见,矩阵大小设在10以内):\n"; cout<<"size="; cin>>size; cout<<"\n原矩阵为:\n"; //输出原矩阵 for(inti=0;i<size;i++) { for(intj=0;j<size;j++) { cout<<matrix[i][j]<<""; } cout<<endl; } transpose_matrix(matrix,size); cout<<"\n转置后的矩阵为:\n"; //输出转置后的矩阵 for(inti=0;i<size;i++) { for(intj=0;j<size;j++) { cout<<matrix[i][j]<<""; } cout<<endl; } return0;}voidtranspose_matrix(intmatrix[10][10],inta)//intmatrix[10][10]为存储矩阵的数组,inta为所需转置矩阵的大小{ intmid=0;//中间量,辅助值的传递 for(inti=0;i<a;i++)//从行开始,逐行检索 { for(intj=i+1;j<a;j++)//对该行每一列的元素检索 { //将对应位置的两个元素交换位置 mid=matrix[i][j]; matrix[i][j]=matrix[j][i]; matrix[j][i]=mid; } } return;}
运行程序,看看效果如何。
正常运行,且功能完整,可以放心复制黏贴使用。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
C++如何实现转置矩阵的循环的详细内容,希望对您有所帮助,信息来源于网络。