第九周 專案3 建立稀疏矩陣表示的三元組演算法庫

2021-07-24 03:06:00 字數 2325 閱讀 1307

問題描述及**:

/*

*煙台大學計控學院

*作 者:王力源

*完成日期:2023年10月27日

*問題描述:)建立稀疏矩陣三元組表示的演算法庫,包括:

① 頭文tup.h,定義資料型別,宣告函式;

② 原始檔tup.cpp,實現稀疏矩陣三元組表示的基本運算,主要演算法包括:

void creatmat(tsmatrix &t,elemtype a[m][n]); //從乙個二維稀疏矩陣建立其三元組表示

bool value(tsmatrix &t,elemtype x,int i,int j); //三元組元素賦值

bool assign(tsmatrix t,elemtype &x,int i,int j); //將指定位置的元素值賦給變數

void dispmat(tsmatrix t); //輸出三元組

void trantat(tsmatrix t,tsmatrix &tb);//矩陣轉置

1③ 設計main函式,測試上面實現的演算法

*/

(1)tup.h

#ifndef tup_h_included

#define tup_h_included

#define m 6

#define n 7

#define maxsize 100 //矩陣中非零元素最多個數

typedef int elemtype;

typedef struct

tupnode; //三元組定義

typedef struct

tsmatrix; //三元組順序表定義

void creatmat(tsmatrix &t,elemtype a[m][n]); //從乙個二維稀疏矩陣建立其三元組表示

bool value(tsmatrix &t,elemtype x,int i,int j); //三元組元素賦值

bool assign(tsmatrix t,elemtype &x,int i,int j); //將指定位置的元素值賦給變數

void dispmat(tsmatrix t);//輸出三元組

void trantat(tsmatrix t,tsmatrix &tb);//矩陣轉置

#endif // tup_h_included

(2)tup.cpp

#include#include"tup.h"

void creatmat(tsmatrix &t,elemtype a[m][n]) //從乙個二維稀疏矩陣建立其三元組表示

t.data[k].r=i;

t.data[k].c=j;

t.data[k].d=x;

t.nums++;

}return true; //成功時返回true

}bool assign(tsmatrix t,elemtype &x,int i,int j) //將指定位置的元素值賦給變數

void dispmat(tsmatrix t) //輸出三元組

, ,,,

,};creatmat(t,a);

printf("b:\n");

dispmat(t);

if (assign(t,x,2,5)==true) //呼叫時返回true

printf("assign(t,x,2,5)=>x=%d\n",x);

else //呼叫時返回false

printf("assign(t,x,2,5)=>引數錯誤\n");

value(t,y,2,5);

printf("執行value(t,10,2,5)\n");

if (assign(t,x,2,5)==true) //呼叫時返回true

printf("assign(t,x,2,5)=>x=%d\n",x);

else //呼叫時返回false

printf("assign(t,x,2,5)=>引數錯誤\n");

printf("b:\n");

dispmat(t);

trantat(t,tb);

printf("矩陣轉置tb:\n");

dispmat(tb);

return 0;

}執行結果:

第九周專案3 稀疏矩陣加法運算

檔名稱 xishujuzhen.cpp 完成日期 2015年11月9日 版本號 vc 6.0 問題描述 稀疏矩陣加法 輸入描述 無 程式輸出 稀疏矩陣的加法 ifndef tup h included define tup h included include define m 6 define n...

第九周專案3 稀疏矩陣加法運算

檔名稱 yi.cpp 完成日期 2016年11月3日 版本號 vc 6.0 問題描述 稀疏矩陣演算法 輸入描述 無 程式輸出 稀疏矩陣的輸出,轉置。include include tup.h bool matadd tsmatrix a,tsmatrix b,tsmatrix c tupnode 三...

第九周專案6 稀疏矩陣相加

問題及 03.all right reserved.04.檔名稱 稀疏矩陣的相加 cpp 06.完成日期 2016年10月27日 07.版本號 v1.0 08.09.問題描述 採用三元組儲存稀疏矩陣,設計兩個稀疏矩陣相加的運算演算法 10.提示1 兩個行數 列數相同的矩陣可以相加 11.提示2 充分...