概述
这是一个C语言示例:输入一个 n 行 n 列的整数矩阵,输出其转置矩阵(2≤n≤100)。
要解决该问题应该清楚什么是矩阵的转置。矩阵的转置就是将原矩阵第 i 行的所有数据,依次放入新矩阵的第 i 列,即原矩阵中第 n 行第 m 列的数据被放在了新矩阵的第 m 行第 n 列中(见图 1)。
图 1:矩阵转置示例
解决矩阵问题时通常都是先将矩阵元素存放在一个二维数组中,使用双重 for 循环语句来遍历这个二维数组,从而实现对矩阵中所有元素数据的操作。例如,我们可以将图 1 中的矩阵存放在二维数组 A(int A[3][3];)中。
仔细观察图 1 转置前后的矩阵可知,转置后矩阵主对角线上的元素 A[1][1]、A[2][2]、A[3][3] 的值并没有发生变化,只是位于对角线右上方的三个元素与位于对角线左下方的三个元素的值进行了交换,即 A[1][2] 和 A[2][1] 进行了交换,A[1][3] 和 A[3][1] 进行了交换,A[2][3] 和 A[3][2] 进行了交换。进一步观察进行交换的两个数组元素,会发现它们的行号和列号互换了。
根据这个发现我们可以设计算法,用双重 for 循环遍历数组 A,找出对角线左下角的元素(行号大于列号),将其值与对角线右上角的对应元素(行号和列号互换后的元素)的值互换,就可以实现矩阵的转置操作。
for(i=0;i
for(j=0;j
{
最后
以上就是冷酷楼房为你收集整理的c语言存储转置矩阵,C语言实现矩阵转置(附带源码)的全部内容,希望文章能够帮你解决c语言存储转置矩阵,C语言实现矩阵转置(附带源码)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复