- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
矩阵的转置(详解)
//矩阵的转置(亲自调试完成):
#includestdio.h
#includemalloc.h//头文件
#define MAXSIZE 100
#define OK 1
typedef int ElemType;
typedef struct{
int c,r;//该非零元的行下标和列下标
ElemType e;//矩阵中某个位置元素的值
}Triple;
typedef struct{
Triple data[MAXSIZE];
int mu,nu,tu;//矩阵的行数、列数和非零元个数
}TSMatrix;
int col,row;//稀疏矩阵的行列数,全局变量;
void input(ElemType a[MAXSIZE][MAXSIZE]){
printf(please input the column of the matrix:\n);
scanf(%d,col);//确定矩阵的行数
printf(please input the row of the matrix:\n);
scanf(%d,row);//确定矩阵的列数
for(int i=0;irow;i++)//初始化矩阵
{
for(int j=0;jcol;j++)
{
printf(\nplease input the data a[%d][%d]=,i,j);
scanf(%d,a[i][j]);
}
printf(\n);
}
}
void init(ElemType a[MAXSIZE][MAXSIZE],Triple ta[],TSMatrix *t )
{
int i,j;
t-tu=0;//初始化非零个数
for(i=0;irow;i++)
for(j=0;jcol;j++)
if(a[i][j]!=0)
{
ta[t-tu].c=i;
ta[t-tu].r=j;
ta[t-tu].e=a[i][j];
t-tu++;
}//记录非零元素的位置与值
t-mu=row;
t-nu=col;
}
void TransposeSMatrix(TSMatrix *Ma,TSMatrix *Mb,Triple ta[],Triple tb[])
{
//采用三元组表存储表示,求稀疏矩阵M的转置矩阵Mb
int k=0;
int p,q;
ElemType b[MAXSIZE][MAXSIZE]={0};//初始化用来存储最后转置好的矩阵
Mb-mu=Ma-nu;//行
Mb-nu=Ma-mu;//列
Mb-tu=Ma-tu;//非零元个数
//用于输出三元组转置后的情况
if(Ma-tu!=0)
{
for(int i=0;iMa-nu;i++,q++)
for(int j=0;jMa-tu;j++,p++)
if(ta[j].r==i)
{
tb[k].c=ta[j].r;
tb[k].r=ta[j].c;
tb[k].e=ta[j].e;//为转置好后的三元组做记录
p=tb[k].c;
q=tb[k].r;
b[p][q]=tb[k].e;//为转置好后的矩阵做好非零元素的位置与值的记录
k++;
}
}
printf(the final Matrix:\n);//打印转置好后的矩阵,偷懒的做法
for(int p=0;prow;p++)
{
for(int q=0;qcol;q++)
{
printf(\t%d,b[p][q]);
}
printf(\n);
}
}
void printfMatrix(ElemType a[MAXSIZE][MAXSIZE]){//用来打印矩阵的函数
for(int i=0;irow;i++)
{
for(int j=0;jcol;j++)
{
printf(\t%d,a[i][j]);
}
printf(\n);
}
}
void printfTriple(Triple tb[],int k){//用来打印三元组的函数
int i;
printf(\tcol\trow\tvalue\n);
for(i=0;ik;i++)
printf(\t%d\t%d\t%d\n,tb[i].c,tb[i].r,tb[i].e);
}
int main()
{
ElemType a[MAXSIZE][MAXSIZE],b[MAXSIZE][MAXSIZ
您可能关注的文档
- VITEK 32 SOP文件.pdf
- 网上生活与网络安全.ppt
- 韩统义古诗词集.pdf
- 宗教发展和谐.docx
- 长株潭区域经济一体化分析.pdf
- 校内公开课播种友情_.ppt
- 康涅狄格河上的完美彩虹.doc
- 一种花生秧生料栽培平菇的方法.pdf
- 发挥辅导员优势构建心理道德教育模式.pdf
- 砍斧项目商业计划书(2013年融资成功案例范文)-协助企业融资-投资专家免费咨询.pdf
- 老旧小区改造提升项目-小龙坎街道片区(一期)结构计算书(施工图).doc
- 南马石危岩治理工程施工图设计计算书.docx
- 南环大道三期--给水工程施工图设计说明.doc
- 汽车产业园综合服务配套及基础设施项目-办公用房工程-边坡结构部分施工图设计说明.doc
- 宏帆东路道路工程施工图设计说明.doc
- )库岸安全综合防护工程(乌杨岛区域)—库岸安全步道贯通项目-施工图计算书.docx
- 农村公路村道安防工程设计说明.doc
- 食品产业园项目(一期)—道路基础设施建设工程(三期支路一期)项目--排水管道工程施工图设计说明.doc
- 河湾村大坳至田湾公路改建及安防工程 总体设计说明书.doc
- 临港一路K2+050.00-K2+220.00段右侧边坡治理工程设计说明.docx
最近下载
- 股骨头缺血性坏死PPT课件.ppt VIP
- 《机动车驾驶人考试场地及其设施设置规范》GA10292022.docx
- (三起点)外研版四年级英语上册《Module4_Unit1_名师课件》.ppt
- 《义务教育语文课程标准解读与实施》-荣维东.pptx VIP
- 1《念奴娇.赤壁怀古》公开课一等奖创新教案.docx VIP
- 果汁饮料市场调查.ppt
- 院内血糖管理信息化系统建设.pptx VIP
- 一测量尺度(尺度)的类型.ppt VIP
- 国电宁夏方家庄电厂2x1000mw机组工程汽轮机旁路装置技术投标文件.doc
- 无损检测技术资格人员考试初、中级无损检测技术资格人员-渗透检测考题二试卷.doc VIP
文档评论(0)