/*
*all right reserved.
*date:2023年10月26日
*版本:v1.0.1
*作業系統:xp
*執行環境:vc6.0
*問題描述:建立稀疏矩陣三元組表示的演算法庫,包括:
① 頭文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);//矩陣轉置
③ 設計main函式,測試上面實現的演算法 */
標頭檔案: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
原始檔:tup.cpp
#include "stdio.h"
#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; }
執行結果:
第九周專案三稀疏矩陣的三元組表示
檔名稱 main.cpp,tup.cpp,tup.h 完成日期 2015年10月31日 版本號 codeblocks 問題描述 稀疏矩陣的三元組表示相關的演算法庫採用程式的多檔案組織形式 輸入描述 無 程式輸出 見執行結果 ifndef tup h included define tup h inc...
第九周 三元組儲存稀疏矩陣
作 者 孫子策 完成日期 2016.10.27 問題描述 提示1 兩個行數 列數相同的矩陣可以相加 提示2 充分利用已經建立好的演算法庫解決問題 標頭檔案 ifndef tup h included define tup h included define m 6 define n 7 define...
第九周 稀疏矩陣的三元組表示的實現及應用
檔名稱 第九周 稀疏矩陣的三元組表示的實現及應用.cpp 完成日期 2016年10月27日 版 本 號 v1.0 問題描述 1 建立稀疏矩陣三元組表示的演算法庫,包括 頭文tup.h,定義資料型別,宣告函式 原始檔tup.cpp,實現稀疏矩陣三元組表示的基本運算,主要演算法包括 void creat...