矩阵的转置

对于的矩阵,使用两个指针变量,可以方便实现(i,j)处元素与(j,i)处元素交换位置。令指针Arow=&A[i][0],则Arow[j]可实现对第i行j列元素的访问。令指针Bptr=&A[0][i],则*Bptr就可以访问(0,i)处元素,然后,令Bptr+=M,就可访问同列不同行的元素。

代码实现

#define M 3

int A[3][3]={{1,2,3},{4,5,6},{7,8,9}};

void transpose(int A[M][M]);

void transpose(int A[M][M])

{

int i,j;

int t;

int *Arow;

int *Bptr;

for(i=0;i<M;i++)

{

Arow=&A[i][0];

Bptr=&A[0][i];

for(j=0;j<i;j++)

{

t=Arow[j];

Arow[j]=*Bptr;

*Bptr=t;

Bptr+=M;

}

}

}

void main()

{

int B[M][M];

int i,j;

for(i=0;i<M;i++) //把A矩阵元素存储在B矩阵中

for(j=0;j<M;j++)

B[i][j]=A[i][j];

transpose(A); //把A矩阵转置

}

运行结果

相关推荐
方案开发PCBA抄板芯片解密13 分钟前
什么是算法:高效解决问题的逻辑框架
算法
songx_9924 分钟前
leetcode9(跳跃游戏)
数据结构·算法·游戏
小白狮ww1 小时前
RStudio 教程:以抑郁量表测评数据分析为例
人工智能·算法·机器学习
AAA修煤气灶刘哥1 小时前
接口又被冲崩了?Sentinel 这 4 种限流算法,帮你守住后端『流量安全阀』
后端·算法·spring cloud
沧海一粟青草喂马1 小时前
抖音批量上传视频怎么弄?抖音矩阵账号管理的专业指南
大数据·人工智能·矩阵
kk”2 小时前
C语言快速排序
数据结构·算法·排序算法
纪元A梦2 小时前
贪心算法应用:基因编辑靶点选择问题详解
算法·贪心算法
3壹2 小时前
数据结构精讲:栈与队列实战指南
c语言·开发语言·数据结构·c++·算法
skytier3 小时前
Construct内报错和定位解决
算法
skytier3 小时前
Ascend print数据落盘使用
算法