当前位置: 首页 > news >正文

矩阵的转置

对于M\times M的矩阵,使用两个指针变量,可以方便实现(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矩阵转置
}

运行结果

B=\begin{bmatrix} 1 & 2 & 3\\ 4& 5 & 6\\ 7& 8& 9 \end{bmatrix}          A=\begin{bmatrix} 1 & 4& 7\\ 2& 5& 8\\ 3& 6 & 9 \end{bmatrix}

http://www.dtcms.com/a/70006.html

相关文章:

  • 虚幻基础:蓝图常用节点
  • 76.HarmonyOS NEXT ImageItemView组件深度剖析:边界处理与高级特性(二)
  • P7634 [COCI 2010/2011 #5] HONI 题解 DP模板题
  • 深度揭秘:蓝耘 Maas 平台如何重塑深度学习格局
  • Unreal Engine 5(虚幻引擎)动画制作快捷键大全
  • 进程间通信--匿名管道
  • 【算法设计与分析】算法时间复杂度计算方法、算法时间复杂度的表示方法
  • 基于PySide6与CATIA Automation的批量截图处理系统开发实践
  • KVM安全模块生产环境配置与优化指南
  • docker composeyaml文件,什么是swap-space,内存不足硬盘来凑,--ipc=host,yaml文件、环境变量、容器报警健康检查
  • 394. 字符串解码
  • 【蓝桥杯】省赛:神奇闹钟
  • Pyecharts 输出到 html 白屏 | 解决方案来
  • 用tiptap搭建仿google-docs工具栏
  • C++和C的区别
  • CTA重建:脑血管重建,CT三维重建,三维建模 技术,实现
  • 华为重拳出击!华为重拳出击!华为重拳出击!
  • 【Java】Devops、CI/CD、jenkins
  • Linux系统之美:进程初识
  • C语言每日一练——day_8
  • Qt常用控件之网格布局QGridLayout
  • 2025-03-15 学习记录--C/C++-C语言 char* price; 和 char price;的区别
  • 背诵--1
  • 【NLP】7. 自然语言处理 (NLP) 的关键要素
  • 零基础上手Python数据分析 (2):Python核心语法快速入门
  • golang从入门到做牛马:第二十篇-Go语言接口:行为的“契约”
  • 深入探究 HTML 框架:多页面同窗口显示的奥秘
  • 【红黑树】—— 我与C++的不解之缘(二十五)
  • 软件环境安装-通过Docker安装Elasticsearch和Kibana【保姆级教程、内含图解】
  • SpringBoot配置文件