第八周项目三 对矩阵的压缩存储2

来源:互联网 发布:淘宝托福答案揭秘 编辑:程序博客网 时间:2024/05/21 12:43
  1. 烟台大学计算机学院  

  2. 作者:王雪行
  3.   
  4. 问题描述:设计算法,实现两个用压缩形式存储的对称矩阵A和B的加法和乘法。 
  5. 实现中请使用好前面设计的基本运算。  
  6.   
  7. 输入描述:无 
  8.   
  9. 输出描述:矩阵元素相加相乘的结果 
  10.   
  11. */   
  12.   
  13.   
  14.   
  15. #include <stdio.h>  
  16. #define N 4  
  17. #define M 10  
  18. int value(int a[],int i,int j)  
  19. {  
  20.     if (i>=j)  
  21.         return a[(i*(i+1))/2+j];  
  22.     else  
  23.         return a[(j*(j+1))/2+i];  
  24. }  
  25. void madd(int a[],int b[],int c[][N])  
  26. {  
  27.     int i,j;  
  28.     for (i=0; i<N; i++)  
  29.         for (j=0; j<N; j++)  
  30.             c[i][j]=value(a,i,j)+value(b,i,j);  
  31. }  
  32. void mult(int a[],int b[],int c[][N])  
  33. {  
  34.     int i,j,k,s;  
  35.     for (i=0; i<N; i++)  
  36.         for (j=0; j<N; j++)  
  37.         {  
  38.             s=0;  
  39.             for (k=0; k<N; k++)  
  40.                 s=s+value(a,i,k)*value(b,k,j);  
  41.             c[i][j]=s;  
  42.         }  
  43. }  
  44. void disp1(int a[])  
  45. {  
  46.     int i,j;  
  47.     for (i=0; i<N; i++)  
  48.     {  
  49.         for (j=0; j<N; j++)  
  50.             printf("%4d",value(a,i,j));  
  51.         printf("\n");  
  52.     }  
  53. }  
  54. void disp2(int c[][N])  
  55. {  
  56.     int i,j;  
  57.     for (i=0; i<N; i++)  
  58.     {  
  59.         for (j=0; j<N; j++)  
  60.             printf("%4d",c[i][j]);  
  61.         printf("\n");  
  62.     }  
  63. }  
  64. int main()  
  65. {  
  66.     int a[M]= {1,2,3,4,5,6,7,8,9,10};  //a表示压缩存储的对称矩阵  
  67.     int b[M]= {1,1,1,1,1,1,1,1,1,1};  
  68.     int c1[N][N],c2[N][N];  
  69.     madd(a,b,c1);  
  70.     mult(a,b,c2);  
  71.     printf("a矩阵:\n");  
  72.     disp1(a);  
  73.     printf("b矩阵:\n");  
  74.     disp1(b);  
  75.     printf("a+b:\n");  
  76.     disp2(c1);  
  77.     printf("a×b:\n");  
  78.     disp2(c2);  
  79.     printf("\n");  
  80.     return 0;  
  81. }  

运行结果:


阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 学生在幼儿园被老师欺负怎么办 小孩脚痒怎么办小窍门 小孩肚子病怎么办天天说 幼儿园幼儿信息表填错了怎么办 水浒传书孩子说看不懂怎么办 孩子丢了书老师怎么办 小朋友做错事不承认老师怎么办 教师被学生骂后怎么办 嘴吧里面长泡怎么办 有个小孩怕下雨怎么办? 幼儿的家长打我怎么办 老师打学生被家长起诉怎么办 家长在学校打了老师怎么办 老师打小孩我们家长怎么办呢? 孩子长手、腿毛怎么办 腿毛又黑又多怎么办 孩子怕老师说他怎么办 被老师骂到厌学怎么办 孩子对写作业一点也不主动怎么办 高三孩子太贪玩怎么办 玩心重的孩子该怎么办 儿子读大学不愿意读书怎么办 孩子打架全班都讨厌怎么办 孩子不爱学习怎么办 二年级 二年级孩子不爱学习总爱玩怎么办 初三孩子学习不积极怎么办 孩子学习不积极应该怎么办 小孩子贪玩不写作业怎么办 老公懒不帮忙分担家务怎么办 宝宝不喜欢早教课程单一怎么办 孩子上课不听话顶撞老师怎么办 孩子不喜欢吃水果蔬菜怎么办 中学生顶撞家长顶撞老师怎么办 .cn孩子初中上课不专心怎么办 娃儿小学二年级做不来怎么办 孩子不愿意看书沉迷电子产品怎么办 孩子自律和自控性差怎么办 婴儿7个月不喜欢吃东西怎么办 半岁宝宝太活泼怎么办 6个月宝宝太活泼怎么办 做nt宝宝太活跃怎么办