计算矩阵加法Vb上机报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算矩阵加法的Vb上机报告   《数据结构》实验报告   班级:姓名:吴亮学号:XX电话日期:   ◎实验题目:进行矩阵的转置运算,加法运算和乘法运算   ◎实验目的:1.熟悉矩阵的定义与以三元组形式输入   2.学会矩阵的转置运算,加法运算和乘法运算   3.掌握用矩阵形式输出   ◎实验内容:设计一个程序,1、演示矩阵的转置运算与加法运算。2、以行逻辑连   接形式进行乘法运算   一、需求分析   1、本实验中的输入为三个以三元组形式输入的矩阵   2、本实验以矩阵的形式输出计算结果   3、程序能够完成对输入的矩阵执行转置于加法运算后输出结果;将输入的矩阵进行乘   法,然后输出结果。   4、测试数据:   选择0   再输入332   输入矩阵:221   232   出现:转置后矩阵   000   010   020   选择1   再输入332   输入矩阵:221   232   再输入332   输入矩阵:221   322   出现相加后矩阵   000   022   020   选择2   再输入332   输入矩阵:221   232   再输入332   输入矩阵:221   322   出现运算后矩阵   000   050   000   二概要设计   程序中采用了三元组作为存储结构   1、基本操作如下:   table*scanff()操作结果:建立矩阵   table*transpose(table*a)初始条件:矩阵已存在;操作结果:将矩阵转置   voidtableplus(table*a,table*b)初始条件:矩阵已存在;   操作结果:将a,b矩阵相加   table*tablemult(table*a,table*b)初始条件:矩阵已存在   操作结果:将a,b 矩阵相乘   voidRpos(table*a)初始条件:矩阵已存在操作结果:将a中的每行第一个非   零元记录下来   2、本程序包含七个模块:主程序模块;建立矩阵的模块;转置运算的模块;加法运算的模块;乘法运算的模块;记录每行非零元的模块,输出矩阵的模块   三详细设计   1、矩阵的定义:typedefstruct{   intr;   intc;   ElemTypee;   }tupletype;   typedefstruct{   introws;   intcols;   intnums;   tupletypedata[NUM+1];   intrpos[ROW+1];   }table;   2、每个模块的分析:   主程序模块:   voidmain()   {   table*A,*B,*C;   inti;   printf(请选择你的操作:0,转置;1,加法;2,乘法;\n);   scanf(%d,i);   printf(请输入第一个矩阵行数、列数及非零数的个数:\n);   A=scanff();   if(i==0)   {   C=transpose(A);//进行转置   print(C);   }   elseif(i==1)   {   printf(请输入第二个矩阵行数、列数及非零数的个数:\n);   B=scanff();   tableplus(A,B);   }   else   {   printf(请输入第二个矩阵行数、列数及非零数的个数:\n);   B=scanff();   C=tablemult(A,B);   print(C);   }   }   建立矩阵的模块   table*scanff()   {//建立矩阵   table*a;   intk;   a=(table*)malloc(sizeof(table));   scanf(%d%d%d,(a-rows),(a-cols),(a-nums));   printf(建立三元组:\n);   for(k=1;knums;k++)   scanf(%d%d%d,(a-data[k].r),(a-data[k].c),(a-data[k].e));returna;   }   转置运算的模块   table*transpose(table*a)   {   table*b;   intbrow,acol,k;   b=(table*)malloc(sizeof(table));   b-rows=a-cols;   b-cols=a-cols;   b-nums=a-nums;   if(b-nums0){   brow=1;   for(acol=1;acolcols;acol++)   for(k=1;knums;k++)   if(a-data[k].c==acol)   {

文档评论(0)

dajia1qi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档