第八周——“对称矩阵压缩存储的实现与应用”
来源:互联网 发布:淘宝保暖卫衣长款 编辑:程序博客网 时间:2024/06/07 06:24
/*烟台大学计算机学院 文件名称:yasuojuzhen 作者:董玉祥 完成日期: 2017 11 04 */(1)#include <stdio.h>#include <malloc.h>#define N 5void Init(int *&b) //初始化{ b=(int *)malloc(sizeof(int)*(N*(N+1))/2);}void Assign(int b[],int e,int i,int j) //将e赋值给对应数组元素A[i][j],存储到b[M]中{ if(i>=j) b[((i+1)*i)/2+j]=e; else b[(j*(j+1))/2+i]=e;}int Value(int b[],int i,int j) //返回存储在b[M]中的值{ if(i>=j) return b[((i+1)*i)/2+j]; else return b[(j*(j+1))/2+i];}void Disp(int b[]) //输出对称矩阵{ int i,j; for(i=0; i<N; i++) { for(j=0; j<N; j++) printf("%4d",Value(b,i,j)); printf("\n"); }}void Destroy(int b[]){ free(b);}(2)设计算法,实现两个用压缩形式存储的对称矩阵A和B的加法和乘法。实现中请使用好前面设计的基本运算。 #include <stdio.h>#define N 4#define M 10void add(int a[],int b[],int c[][N]){ int i,j; for(i=0;i<N;i++) for(j=0;j<N;j++) c[i][j]=Value(a,i,j)+Value(b,i,j);}void mult(int a[],int b[],int c[][N]){ int i,j; for(i=0;i<N;i++) for(j=0;j<N;j++) c[i][j]=Value(a,i,j)*Value(b,i,j);}int main(){ int a[M]= {1,2,3,4,5,6,7,8,9,10}; int b[M]= {1,1,1,1,1,1,1,1,1,1}; int c1[N][N]; int c2[N][N]; printf("+:\n"); add(a,b,c1); Disp1(c1); printf("*:\n"); mult(a,b,c2); Disp1(c2); return 0;}结果截图:
阅读全文
0 0
- 第八周 对称矩阵压缩存储的实现与应用
- 第八周——“对称矩阵压缩存储的实现与应用”
- 第八周(2)项目2—对称矩阵压缩存储的实现与应用
- 第八周 项目三 — 对称矩阵压缩存储的实现与应用 (1)
- 第八周 项目三 — 对称矩阵压缩存储的实现与应用(2)
- 第八周项目2-对称矩阵压缩存储的实现与应用
- 第八周项目2-对称矩阵压缩存储的实现与应用-
- 第八周项目3-对称矩阵压缩存储的实现与应用
- 第八周 项目3-对称矩阵压缩存储的实现与应用
- 第八周项目3对称矩阵压缩存储的实现与应用(1)
- 第八周项目3对称矩阵压缩存储的实现与应用(2)
- 第八周项目3对称矩阵压缩存储的实现与应用(3)
- 第八周项目3--对称矩阵压缩存储的实现与应用
- 第八周项目3--对称矩阵压缩存储的实现与应用(2)
- 第八周项目3--对称矩阵压缩存储的实现与应用(3)
- 第八周项目三 对称矩阵压缩存储的实现与应用(1)
- 第八周项目三(1) 对称矩阵压缩存储的实现与应用
- 第八周项目三 对称矩阵压缩存储的实现与应用(1)
- 11.4解题报告
- 最长无重复子串
- Java基础1
- B
- 11.4 总结
- 第八周——“对称矩阵压缩存储的实现与应用”
- OSI 七层 及相关协议
- 装饰器、迭代器、生成器
- spring:控制反转
- NIO-结合Selector设计一个简易WebServer
- 滑动条
- ButterKnife之@OnTouch——界面交互效果进阶
- 5.4
- 变量的声明