云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 对称矩阵压缩算法的实现

对称矩阵压缩算法的实现

  • 62 次阅读
  • 3 次下载
  • 2026/1/8 8:33:22

3.3.1 对对称矩阵进行压缩存储代码

int CompMatrix(Array &s)//对对称矩阵进行压缩存储 {

int i,j,k=0;

for(i=1;i<=n;i++) for(j=1;j<=i;j++) {

s.m[k]=s.M[i][j]; k++; }

printf(\压缩后的矩阵存入一维数组后各元素为:\\n\ printf(\

for(k=0;k

3.4 将存储后的矩阵按照数学形式输出

矩阵的数学形式即为一个二维数组,我们将矩阵进行压缩存储后,其原来的形式被改变,变为一维数组,而所存储的元素个数也少于原矩阵,因此需要编辑函数将矩阵按数学形式输出。

OutputMatrix()函数:此函数的功能是:将压缩后的矩阵按照矩阵的数学形式输出,通过公式:当i>=j时,k=i*(i-1)/2+j-1;当i

赋值流程图如图3.7所示,输出流程图如图3.8所示。

8

开始 开始 i=1 初始化i=1 N N 判断i值与 i<=n 判断i值与 i<=n 行下标n值 i=1 初始化i=1 行下标n值的 Y 关系 初始化j=1 j=1 N 判断列下 j<=i 标j值 j<=n 与行下标 值得大小 结束 图3.7 赋值流程图

的关系 Y 初始化 判断列下标j 与n值的 大小关系 Y 输出矩阵 i++ 结束 图3.8 输出流程图 9

j=1 j=1

Y i

k=i*(i-1)/2+j-1

k=j*(j-1)/2+i-1 j++

s.M[i][j]=s.m[k]

i++

j++

3.4.1 将存储后的矩阵按照数学形式输出的代码

int OutputMatrix(Array s)//按照数学形式输出矩阵 {

int i,j,k=0;

for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(i>=j) {

k=i*(i-1)/2+j-1; s.M[i][j]=s.m[k]; } else {

k=j*(j-1)/2+i-1; s.M[i][j]=s.m[k]; }

printf(\您压缩存储的矩阵按照数学形式输出为:\\n\ printf(\ for(i=1;i<=n;i++) {

for(j=1;j<=n;j++)

printf(\ printf(\ }

return ok; }

10

4 详细代码

#include #include #include #define OVERFLOW -2 #define UNDERFLOW -1 #define ok 1

typedef struct {

int M[100][100]; int m[100]; }Array;

Array s; int n;

int CreatMatrix(Array &s)//构建任意矩阵 {

int i,j;

//printf(\请输入数组中各元素,输入时请注意:s.M[i][j]=s.M[j][i]\\n\ printf(\请输入您需要构建n阶矩阵中的n值\\n\ scanf(\ if(n<=0) {

fflush(stdin);

printf(\值为非法输入,请您重新输入n值,n>0\\n\ scanf(\ }

fflush(stdin);

printf(\请输入数组中各元素,输入时请注意:s.M[i][j]=s.M[j][i]\\n\ for(i=1;i<=n;i++) {

for(j=1;j<=n;j++)

scanf(\ }

printf(\您构建的矩阵为:\\n\ printf(\

11

搜索更多关于: 对称矩阵压缩算法的实现 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

3.3.1 对对称矩阵进行压缩存储代码 int CompMatrix(Array &s)//对对称矩阵进行压缩存储 { int i,j,k=0; for(i=1;i<=n;i++) for(j=1;j<=i;j++) { s.m[k]=s.M[i][j]; k++; } printf(\压缩后的矩阵存入一维数组后各元素为:\\n\ printf(\ for(k=0;k

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com