矩陣轉(zhuǎn)置及相加實(shí)驗(yàn)報(bào)告.doc

矩陣轉(zhuǎn)置及相加實(shí)驗(yàn)報(bào)告.doc

ID:48926735

大?。?22.50 KB

頁數(shù):12頁

時間:2020-02-25

矩陣轉(zhuǎn)置及相加實(shí)驗(yàn)報(bào)告.doc_第1頁
矩陣轉(zhuǎn)置及相加實(shí)驗(yàn)報(bào)告.doc_第2頁
矩陣轉(zhuǎn)置及相加實(shí)驗(yàn)報(bào)告.doc_第3頁
矩陣轉(zhuǎn)置及相加實(shí)驗(yàn)報(bào)告.doc_第4頁
矩陣轉(zhuǎn)置及相加實(shí)驗(yàn)報(bào)告.doc_第5頁
資源描述:

《矩陣轉(zhuǎn)置及相加實(shí)驗(yàn)報(bào)告.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、.一、實(shí)驗(yàn)內(nèi)容和要求1、稀疏矩陣A,B均采用三元組表示,驗(yàn)證實(shí)現(xiàn)矩陣A快速轉(zhuǎn)置算法,設(shè)計(jì)并驗(yàn)證A,B相加得到矩陣C的算法。(1)從鍵盤輸入矩陣的行數(shù)和列數(shù),隨機(jī)生成稀疏矩陣。(2)設(shè)計(jì)算法將隨機(jī)生成的稀疏矩陣轉(zhuǎn)換成三元組順序表示形式存儲。(3)設(shè)計(jì)算法將快速轉(zhuǎn)置得到的與相加得到的三元組順序表分別轉(zhuǎn)換成矩陣形式。(4)輸出隨機(jī)生成的稀疏矩陣A,B及其三元組順序表、快速轉(zhuǎn)置得到的與相加得到的三元組順序表及其矩陣形式。二、實(shí)驗(yàn)過程及結(jié)果一、需求分析1、將隨機(jī)生成的數(shù)定義為int型(為方便起見設(shè)定范圍為-20至20(不含0),可修改),三元組存儲的元素分別

2、為非零元的行下標(biāo)、列下標(biāo)及該位置的元素值,零元不進(jìn)行存儲。實(shí)際上在生成稀疏矩陣時是隨機(jī)選取一些位置生成非零元然后存入三元組中。2、從鍵盤輸入矩陣的行數(shù)和列數(shù)后應(yīng)能輸出三元組順序表及相應(yīng)矩陣(按行和列排列形式輸出)。3、程序能實(shí)現(xiàn)的功能包括:①隨機(jī)產(chǎn)生稀疏矩陣;②輸出陣列形式的矩陣;③輸出三元組順序表;④將矩陣快速轉(zhuǎn)置;⑤將兩個稀疏矩陣相加生成新的矩陣。二、概要設(shè)計(jì)1、稀疏矩陣的抽象數(shù)據(jù)類型定義:ADTTSMatrix{數(shù)據(jù)對象:D={aij

3、i=1,2,…,m,j=1,2,…,n;Ai,j∈ElemSet,m和n分別稱為矩陣的行數(shù)和列數(shù)}數(shù)據(jù)關(guān)系:

4、R={Row,Col}Row={

5、1≤i≤m,1≤j≤n-1}Col={

6、1≤i≤m-1,1≤j≤n}基本操作:CreateTSMatrix(&M)操作結(jié)果:創(chuàng)建矩陣MPrintTSMatrix(M)初始條件:矩陣M已存在操作結(jié)果:輸出矩陣M中三元組形式的非零元素PrintTSMatrix1(M)初始條件:矩陣M已存在操作結(jié)果:以陣列形式輸出矩陣UnZore(M,row,col)初始條件:矩陣M已存在操作結(jié)果:若位置(row,col)處存在非零元素,則返回該元素存儲在矩陣中的序號TSMatrix_

7、Add(M,N,&Q)范文..初始條件:矩陣M,N已存在操作結(jié)果:將矩陣M,N相加得到Q并返回矩陣QFastTransposeSMatrix(M,&N)初始條件:矩陣M已存在操作結(jié)果:將矩陣M快速轉(zhuǎn)置得到轉(zhuǎn)置矩陣N并返回}ADTTSMatrix;⒊本程序模塊結(jié)構(gòu)⑴主函數(shù)模塊voidmain(){初始化迷矩陣;創(chuàng)建矩陣并輸出;將矩陣轉(zhuǎn)置并輸出;將矩陣相加并輸出結(jié)果;}三、詳細(xì)設(shè)計(jì)1、基本數(shù)據(jù)類型操作⑴typedefintElemType;typedefstruct{inti,j;ElemTypee;}Triple;//數(shù)據(jù)類型三元組typedefst

8、ruct{Tripledata[maxsize+1];//矩陣大小intmu,nu,tu;//}TSMatrix;//矩陣抽象數(shù)據(jù)類型2、參數(shù)設(shè)置:#definemaxsize10000//----------基本操作的算法描述--------------------StatusCreateTSMatrix(TSMatrix*M){//創(chuàng)建一個隨機(jī)矩陣(data[0]未用)srand((int)time(NULL));printf("PleaseInputTheLinesAndColumnsOfTheMatrix:");printf("...(

9、矩陣的期望規(guī)格大于4*5(或5*4))...");scanf(M->mu,M->nu);for(m=0;mmu;m++){for(n=0;nnu;n++){k[m][n]=rand()%20;if(k[m][n]==0){if(rand()%2)M->data[p].e=rand()%20+1;elseM->data[p].e=rand()%20-20;M->data[p].i=m+1;范文..M->data[p].j=n+1;p++;}}}M->tu=p-1;//p從1開始,非零元個數(shù)剛好等于p-1returnOK;}void

10、PrintTSMatrix(TSMatrixM){//輸出矩陣的三元組順序表if(M.tu==0)printf("無非零元!");else{printf("該矩陣的行數(shù)為%d、列數(shù)為%d、非零元素個數(shù)為%d.非零元的坐標(biāo)及值:",M.mu,M.nu,M.tu);printf("行列元素值");for(i=1;i<=M.tu;i++){printf("%4d%4d%6d",M.data[i].i,M.data[i].j,M.data[i].e);}printf("");}}voidPrintTSMatrix1(TSMatr

11、ixM){//輸出矩陣的陣列形式printf("陣列形式為:");for(i=1;i<=M.mu;i++){for(j

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。