第九周项目2--对称矩阵压缩存储的实现与应用2
来源:互联网 发布:手机怎么开通淘宝网店 编辑:程序博客网 时间:2024/06/05 18:28
#include <stdio.h>
#define N 4
#define M 10
int value(int a[],int i,int j);
void madd(int a[],int b[],int c[][N]);
void mult(int a[],int b[],int c[][N]);
void disp1(int a[]);
void disp2(int c[][N]);
int main()
{
int a[M]= {1,2,3,4,5,6,7,8,9,10}; //a表示压缩存储的对称矩阵
int b[M]= {1,1,1,1,1,1,1,1,1,1};
int c1[N][N],c2[N][N];
madd(a,b,c1);
mult(a,b,c2);
printf("a矩阵:\n");
disp1(a);
printf("b矩阵:\n");
disp1(b);
printf("a+b:\n");
disp2(c1);
printf("a×b:\n");
disp2(c2);
printf("\n");
return 0;
}
int value(int a[],int i,int j)
{
if(i>j)
{
return a[i*(i+1)/2+j];
}
else return a[j*(j+1)/2+i];
}
void madd(int a[],int b[],int c[][N])
{
int i=0,j=0;
while(i<N)
{
while(j<N)
{
c[i][j]=value(a,i,j)+value(b,i,j);
j++;
}
j=0;
i++;
}
}
void disp2(int c[][N])
{
int i=0,j=0;
while(i<N)
{
while(j<N)
{
printf("%4d",c[i][j]);
j++;
}
j=0;
i++;
printf("\n");
}
}
void disp1(int a[])
{
int i=0,j=0;
while(i<N)
{
while(j<N)
{
printf("%4d",value(a,i,j));
j++;
}
j=0;
i++;
printf("\n");
}
}
void mult(int a[],int b[],int c[][N])
{
int i,j,k,s;
for (i=0; i<N; i++)
for (j=0; j<N; j++)
{
s=0;
for (k=0; k<N; k++)
s=s+value(a,i,k)*value(b,k,j);
c[i][j]=s;
}
#define N 4
#define M 10
int value(int a[],int i,int j);
void madd(int a[],int b[],int c[][N]);
void mult(int a[],int b[],int c[][N]);
void disp1(int a[]);
void disp2(int c[][N]);
int main()
{
int a[M]= {1,2,3,4,5,6,7,8,9,10}; //a表示压缩存储的对称矩阵
int b[M]= {1,1,1,1,1,1,1,1,1,1};
int c1[N][N],c2[N][N];
madd(a,b,c1);
mult(a,b,c2);
printf("a矩阵:\n");
disp1(a);
printf("b矩阵:\n");
disp1(b);
printf("a+b:\n");
disp2(c1);
printf("a×b:\n");
disp2(c2);
printf("\n");
return 0;
}
int value(int a[],int i,int j)
{
if(i>j)
{
return a[i*(i+1)/2+j];
}
else return a[j*(j+1)/2+i];
}
void madd(int a[],int b[],int c[][N])
{
int i=0,j=0;
while(i<N)
{
while(j<N)
{
c[i][j]=value(a,i,j)+value(b,i,j);
j++;
}
j=0;
i++;
}
}
void disp2(int c[][N])
{
int i=0,j=0;
while(i<N)
{
while(j<N)
{
printf("%4d",c[i][j]);
j++;
}
j=0;
i++;
printf("\n");
}
}
void disp1(int a[])
{
int i=0,j=0;
while(i<N)
{
while(j<N)
{
printf("%4d",value(a,i,j));
j++;
}
j=0;
i++;
printf("\n");
}
}
void mult(int a[],int b[],int c[][N])
{
int i,j,k,s;
for (i=0; i<N; i++)
for (j=0; j<N; j++)
{
s=0;
for (k=0; k<N; k++)
s=s+value(a,i,k)*value(b,k,j);
c[i][j]=s;
}
}
0 0
- 第九周 项目2-对称矩阵的压缩存储的实现与应用
- 第九周--项目2对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2——对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2 - 对称矩阵压缩存储的实现与应用(2)
- 第九周 项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2—对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2 - 对称矩阵压缩存储的实现与应用(2)
- 第九周实践项目2—对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2 对称矩阵压缩存储的实现与应用2
- 第九周 项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2- 对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- spring中引入其他文件
- GNU编译优化级别-O -O1 -O2 -O3
- gdb watch
- Poj 3278 BFS(不多说话) Catch That Cow
- str_replace和substr_replace的区别
- 第九周项目2--对称矩阵压缩存储的实现与应用2
- 从坐拥40亿到一无所有 昔日富豪摆摊还债
- AlarmManager(闹钟服务)
- centos 7 64bit 通过tomcat配置二级域名
- python学习手册(2)
- 欢乐赛总结
- 排序算法(冒泡、选择、插入、快速)
- linux shell 编程 笔记(cat who wc grep ping seq)
- gdb 信号处理