問題描述:設計演算法,實現兩個用壓縮形式
*/
matrix.h:
#include #include #define n 4 //定義矩陣階數為4
void init(int *&b); //為n階對稱矩陣初始化儲存資料的一維陣列b
int value(int b, int i, int j); //返回儲存在b[m]中,對應二維陣列a[i][j]的值
void assign(int b, int e, int i, int j); //將e賦值給對應二維陣列元素a[i][j],要儲存到b[m]中
void disp1(int b); //輸出壓縮儲存在b中的對稱矩陣
void destroy(int b); //銷毀儲存空間
void matrixadd(int a,int b,int c[n]); //對稱矩陣相加
void matrixmul(int a,int b,int c[n]); //對稱矩陣相乘
void disp2(int c[n]); //輸出對稱矩陣相加或相乘的結果
matrix.cpp:
#include "matrix.h"
void init(int *&b) //為n階對稱矩陣初始化儲存資料的一維陣列b
int value(int b, int i, int j) //返回儲存在b[m]中,對應二維陣列a[i][j]的值
void assign(int b, int e, int i, int j) //將e賦值給對應二維陣列元素a[i][j],要儲存到b[m]中
void disp1(int b) //輸出壓縮儲存在b中的對稱矩陣
{ int i,j;
for(i=0;i#include "matrix.h"
int main()
{ int i,j,num;
int *a,*b; //定義兩對稱矩陣
int c1[n][n],c2[n][n]; //c1--對稱矩陣相加結果 c2--對稱矩陣相乘結果
init(a); //初始化,一次分配空間
init(b);
while(1)
{printf("請輸入對稱矩陣a(只需要輸入下三角部分即可):\n");
知識點總結:
對稱矩陣的基本運算
心得體會:
在(1)的基礎上,此問題容易解決。不過需要注意的是,兩矩陣相乘不是單純的兩矩陣同一位置上兩個元素相乘。
第九周 對稱矩陣壓縮儲存的實現
all right reserved.date 2015年10月26日 版本 v1.0.1 作業系統 xp 執行環境 vc6.0 問題描述 對稱矩陣壓縮儲存的實現 用壓縮形式儲存對稱矩陣,實現下面的操作並測試 void init int b 為n階對稱矩陣初始化儲存資料的一維陣列b int valu...
第九周 對稱矩陣壓縮儲存的實現與應用
問題描述 對稱矩陣壓縮儲存的實現與應用。輸入 第n行的第n個數值。輸出 對陣矩陣。原始檔 include head.h void init int b int value int b,int i,int j void assign int b,int e,int i,int j void disp ...
第九周專案2 對稱矩陣壓縮儲存的實現與應用(1)
all right reserved.檔名稱 test.cpp 完成日期 2015年10月30日 版本號 v1.0 問題描述 用壓縮形式儲存對稱矩陣,實現下面的操作並測試 void init int b 為n階對稱矩陣初始化儲存資料的一維陣列b int value int b,int i,int j...