一般矩阵的转置

矩阵A转置为矩阵B,采用优化方法实现,对A矩阵,采用行指针*Arow访问同一行不同列元素,对矩阵B,采用列指针*Bptr访问相同列不同行元素。

代码实现

void transpose(int a[3][4],int b[4][3]);

void transpose(int a[3][4],int b[4][3])

{

int i,j;

int *Arow;

int *Bptr;

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

{

Arow=&a[i][0];

Bptr=&b[0][i];

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

{

*Bptr=Arow[j];

Bptr+=3;

}

}

}

void main()

{

int a[3][4],b[4][3];

int i,j;

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

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

a[i][j]=i+j+1;

transpose(a,b);

}

运行结果

一般方法

void transpose(int a[3][4],int b[4][3]);

void transpose(int a[3][4],int b[4][3])

{

int i,j;

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

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

b[j][i]=a[i][j];

}

void main()

{

int a[3][4],b[4][3];

int i,j;

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

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

a[i][j]=i+j+3+4;

transpose(a,b);

}

相关推荐
风象南36 分钟前
OpenClaw Token 太贵顶不住?试试 Coding Plan
人工智能
万少8 小时前
小龙虾(openclaw),轻松玩转自动发帖
前端·人工智能·后端
飞哥数智坊9 小时前
openclaw 重大更新,真的懂我啊
人工智能
KaneLogger9 小时前
AI 时代编程范式迁移的思考
人工智能·程序员·代码规范
飞哥数智坊9 小时前
养虾记第2期:从“人工智障”到“赛博分身”,你的龙虾还缺这两个灵魂
人工智能
飞哥数智坊9 小时前
龙虾虽香,小心扎手!官方点名后,我们该怎么“养虾”?
人工智能
yiyu071610 小时前
3分钟搞懂深度学习AI:实操篇:卷积层
人工智能·深度学习
字节架构前端11 小时前
Skill再回首—深度解读Anthropic官方最新Skill白皮书
人工智能·agent·ai编程
冬奇Lab12 小时前
OpenClaw 深度解析(八):Skill 系统——让 LLM 按需学习工作流
人工智能·开源·源码阅读