C++如何实现转置矩阵的循环(C++,开发技术)

时间:2024-05-02 13:37:05 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    前言

    矩阵的转置主要考查我们对循环的使用,通过简单的循环结构,我们可以很方便的完成矩阵的转置。

    C++如何实现转置矩阵的循环

    一、思路分析

    转置矩阵与原矩阵的区别在于行列交换,我们可以构建一个二维数组完成对原矩阵的存储,我们只需将每个元素与其行列相反的位置处的元素进行交换,就可完成对矩阵的转置。

    C++如何实现转置矩阵的循环

    二、代码实现

    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;}

    运行程序,看看效果如何。

    C++如何实现转置矩阵的循环

    C++如何实现转置矩阵的循环

    正常运行,且功能完整,可以放心复制黏贴使用。

     </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
    本文:C++如何实现转置矩阵的循环的详细内容,希望对您有所帮助,信息来源于网络。
    上一篇:如何使用Python爬虫爬取网站图片下一篇:

    6 人围观 / 0 条评论 ↓快速评论↓

    (必须)

    (必须,保密)

    阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18