第九周项目三~~~矩阵转置

/*问题及代码
 *Copyright(c)2015,烟台大学计算机学院
 *All right reserved.
 *文件名称:稀疏矩阵的三元组表示 .cpp
 *作者:李浩
 *完成日期;2015年10月26日
 *版本号;v1.0
 *
 *问题描述: 将稀疏数组中的非零元素用三元组的方式表示出来


 *输入描述:稀疏数组
 *程序输出:以行列数三元组表示,以列行数转置后的三元组表示
*/

#include <stdio.h>
#include "tup.h"
int main()
{
    TSMatrix t,tb;
    int x,y=10;
    int A[6][7]=
    {
        {0,0,1,0,0,0,0},
        {0,2,0,0,0,0,0},
        {3,0,0,0,0,0,0},
        {0,0,0,5,0,0,0},
        {0,0,0,0,6,0,0},
        {0,0,0,0,0,7,4}
    };
    CreatMat(t,A);
    printf("b:\n");
    DispMat(t);
    if (Assign(t,x,2,5)==true)  //调用时返回true
        printf("Assign(t,x,2,5)=>x=%d\n",x);
    else  //调用时返回false
        printf("Assign(t,x,2,5)=>参数错误\n");
    Value(t,y,2,5);
    printf("执行Value(t,10,2,5)\n");
    if (Assign(t,x,2,5)==true)  //调用时返回true
        printf("Assign(t,x,2,5)=>x=%d\n",x);
    else  //调用时返回false
        printf("Assign(t,x,2,5)=>参数错误\n");
    printf("b:\n");
    DispMat(t);
    TranTat(t,tb);
    printf("矩阵转置tb:\n");
    DispMat(tb);
    return 0;
}


运行结果

 

知识点总结

由于稀疏数组中的有效数字很少,所以用三元组的方式来表示,使得哪一行哪一列中的哪一个数表示的更加清晰,这个程序的重点在于转置,将行列倒过来,数字不变,只需要找出适合这个数的新的行列表达方式即可。

学习心得

想起大一学C++的时候也做过矩阵转置的问题,回去看看原来是怎么做的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值