矩阵转置实验报告文档格式.docx

上传人:b****3 文档编号:17820444 上传时间:2022-12-11 格式:DOCX 页数:11 大小:17.65KB
下载 相关 举报
矩阵转置实验报告文档格式.docx_第1页
第1页 / 共11页
矩阵转置实验报告文档格式.docx_第2页
第2页 / 共11页
矩阵转置实验报告文档格式.docx_第3页
第3页 / 共11页
矩阵转置实验报告文档格式.docx_第4页
第4页 / 共11页
矩阵转置实验报告文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

矩阵转置实验报告文档格式.docx

《矩阵转置实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《矩阵转置实验报告文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

矩阵转置实验报告文档格式.docx

  3)

  4)

  5)

  6)获取用户输入的矩阵1的行数和列数,动态生成一个一维数组利用随机数生成数组成员,并利用两个循环输出数组,使其符合矩阵的格式矩阵2同矩阵1的处理方法通过两个矩阵的行数和列数比较来判断能否进行加减乘等运算,如不能,输出相关信息如能够进行计算,则利用数组进行相应运算,并按照正确格式输出通过改变一维数组中元素的顺序来实现转置并输出

  算法流程图

  四.基本界面。

  五.关键代码。

  关键类的声明

  classCMatrixclass

  {

  public:

  CMatrixclass

  intm_Row=0;

//行

  intm_Col=0;

//列

  m_pElements=NULL;

//一维数组

  };

  virtual~CMatrixclass

  deletem_pElements;

  }

  intm_Row;

  intm_Col;

  int*m_pElements;

  关键函数代码

  voidCMyView:

:

OnCHECKadd

  m_;

OnCHECKsubtrict

OnCHECKcombine

OnCHECKnums

OnBUTTONcompute

  UpdateData;

  //TODO:

Addyourcontrolnotificationhandlercodehereif==1)

  if

  m_result=“行数列数不等无法相加!

”;

  else

  matrixc;

  c=*op1+*op2;

  m_result=“matrix1+matrix2”;

  m_result+=“\r\n”;

  m_result+=_show;

  elseif==1)

  if

  m_result=“行数列数不等无法相减!

  c=*op1-*op2;

  m_result=“matrix1-matrix2”;

  m_result=“以上无法相乘!

  c=*;

  m_result=“matrix1*matrix2”;

  }

  篇二:

稀疏矩阵三元组实现矩阵转置算法实验报告

  实验三稀疏矩阵的三元组表示实现矩阵转置算法

  学院专业班

  学号姓名一.实习目的

  1.掌握稀疏矩阵的三元组顺序表存储表示;

  2.掌握稀疏矩阵三元组表示的传统转置算法的实现;

  3.掌握稀疏矩阵三元组表示的快速转置算法的实现;

  二.实习内容

  1.稀疏矩阵的按三元组形式输入,即按行序输入非零元的行号、列号、值,实现传统转置

  算法,输出按通常的阵列形式输出。

  2.稀疏矩阵的按三元组形式输入,即按行序输入非零元的行号、列号、值,实现快速转置

  三.实验步骤

  1.三元组的定义

  #defineMAX_SIZE100//非零元个数的最大值

  structTriple

  inti,j;

//行下标,列下标

  ElemTypee;

//非零元素值

  structTSMatrix

  structTripledata[MAX_SIZE+1];

//非零元三元组表,data[0]未用

  intmu,nu,tu;

//矩阵的行数、列数和非零元个数

  2.创建稀疏矩阵M(按三元组形式输入,即按行序输入非零元的行号、列号、值)

  3.编写三元组传统转置函数。

  4.编写三元组快速转置函数。

  4..主函数

  程序代码

  #include““

  typedefintElemType;

//行下标,列下标

//非零元素值

  structTSMatrix

//非零元三元组表,data[0]未用intmu,nu,tu;

  intCreateSMatrix

  {//创建稀疏矩阵M

  inti,m,n;

  intk;

  printf;

  scanf;

  return-1;

  [0].i=0;

//为以下比较顺序做准备

  for

  do

  printf,列,元素值:

”,i,,);

//输入非零元的行号、列号、元素值k=0;

  if//行或列超出范围

  k=1;

  if//行或列的顺序有错

  }while;

  [i].i=m;

//将m,n,e填入M

  [i].j=n;

  [i].e=e;

  return1;

  voidPrintSMatrix

  {//按矩阵形式输出M

  inti,j,k=1;

  Triple*p=;

  p++;

//p指向第1个非零元素

  for

  //p指向非零元,且p所指元素为当前处理元素

//输出p所指元素的值

//p指向下一个元素

  k++;

//计数器+1

  else//p所指元素不是当前处理元素

//输出0

  voidTransposeSMatrix

  {//求稀疏矩阵M的转置矩阵T。

  intp,q,col;

  =;

  q=1;

  [q].i=[p].j;

  [q].j=[p].i;

  [q].e=[p].e;

  ++q;

  voidFastTransposeSMatrix

  {//快速求稀疏矩阵M的转置矩阵T。

算法改

  intp,q,t,k,col,*num,*cpot;

  num=malloc*sizeof);

//存M每列非零元素个数cpot=malloc*sizeof);

//存T每行的下1个非零元素的存储位置

//给T的行、列数与非零元素个数赋值

  if//是非零矩阵

  num[col]=0;

//计数器初值设为0

  for//求M中每一列含非零元素个数

  {k=[t].j;

++num[col];

}

  cpot[1]=1;

//T的第1行的第1个非零元在中的序号为1

  cpot[col]=cpot[col-1]+num[col-1];

  //求T的第col行的第1个非零元在中的序号

  for//从M的第1个元素开始

  col=[p].j;

//求得在M中的列数

  q=cpot[[p].j];

//q指示M当前的元素在T中的序号[q].i=[p].j;

  [q].e=[p].e;

  ++cpot[col];

//T第col行的下1个非零元在中的序号

  free;

  voidmain

  TSMatrixA,T;

  CreateSMatrix;

  PrintSMatrix;

  TransposeSMatrix;

  printf:

\n”);

PrintSMatrix;

  FastTransposeSMatrix;

  

(2)调试程序

  运行程序(截图)

  四.实习小结

  自己写

  篇三:

矩阵转置实验

  实习一熟悉使用计算机系统

  一、实习内容

  选择一个计算机系统,熟悉该系统的操作命令,且掌握该计算机系统的使用方法。

  二、实习目的

  配合操作系统课程的学习,模拟实现操作系统的功能,有助于对操作系统的理解。

操作系统功能的模拟实现可以在计算机系统的终端上进行,也可以在一台微型计算机上进行。

根据您的学习条件,选择一个计算机系统,熟悉对该系统的使用,那么您可以顺利地完成本课程的实习。

  为了尽快地熟悉计算机系统,可编辑一个源程序,且对编辑好的源程序编译、运行、显示/打印运行结果等。

  三、实习题目

  编制一个程序,求10?

10矩阵A的转置矩阵AT,即

  要求确定两组初值,运行设计的程序,显示或打印每一组的A和AT。

  四、实习报告

  实习题目。

  程序中使用的数据结构及符号说明。

  流程图。

  打印一份源程序并附上注释。

  打印两组A和AT的值。

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1