矩阵的转置

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

代码实现

#define M 3

int A33={{1,2,3},{4,5,6},{7,8,9}};

void transpose(int AMM);

void transpose(int AMM)

{

int i,j;

int t;

int *Arow;

int *Bptr;

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

{

Arow=&Ai0;

Bptr=&A0i;

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

{

t=Arowj;

Arowj=*Bptr;

*Bptr=t;

Bptr+=M;

}

}

}

void main()

{

int BMM;

int i,j;

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

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

Bij=Aij;

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

}

运行结果

相关推荐
科技大视界1 小时前
TikTok广告素材投放工具:从官方后台到AIGC一体化矩阵构建高效投放矩阵
人工智能·矩阵·aigc
青山木2 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
未来之窗软件服务3 小时前
计算机考试-快速排序—东方仙盟
数据结构·算法·排序算法·仙盟创梦ide·东方仙盟
小龙报3 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
txzrxz4 小时前
数论:排列数、组合数、费马小定理、逆元、同余定理
c++·算法·数论·组合数·费马小定理·逆元·排列数
xqqxqxxq4 小时前
LeetCode Hot100 双指针专项题解笔记
笔记·算法·leetcode
闪电悠米4 小时前
力扣hot100-54.螺旋矩阵-模拟边界控制详解
算法·leetcode·矩阵
变量未定义~4 小时前
虚拟节点-星石传送阵(4星)、强连通分量
数据结构·算法
IT方大同4 小时前
C语言分支与循环语句
c语言·开发语言·算法
待磨的钝刨5 小时前
深入理解主成分分析(PCA)
人工智能·线性代数·算法·机器学习