數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)稀疏矩陣計(jì)算器_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)稀疏矩陣計(jì)算器_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)稀疏矩陣計(jì)算器_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)稀疏矩陣計(jì)算器_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)稀疏矩陣計(jì)算器_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)報(bào)告題目:稀疏矩陣運(yùn)算器班級(jí):14電子商務(wù)平臺(tái)建設(shè)班 完成日期:2015.11.2學(xué)號(hào):20141103468 姓名: 孫少輝 學(xué)號(hào):20141103421 姓名: 楊德龍學(xué)號(hào):20141103407 姓名: 柴益新一:需求分析稀疏矩陣是指那些多數(shù)元素為零的矩陣。利用“稀疏“特點(diǎn)進(jìn)行存儲(chǔ)和計(jì)算可以大大節(jié)省存儲(chǔ)空間,提高計(jì)算效率。實(shí)現(xiàn)一個(gè)能進(jìn)行稀疏矩陣基本運(yùn)算的運(yùn)算器?!净疽蟆恳浴皫羞壿嬫溄有畔ⅰ暗娜M順序表示稀疏矩陣,實(shí)現(xiàn)兩個(gè)矩陣相加、相減和相乘運(yùn)算。稀疏矩陣的輸入采用三元組表示,而運(yùn)算結(jié)果的矩陣則以通常陣列形式列出?!卷?xiàng)目約束】1 首先應(yīng)輸入矩陣的行數(shù)和列數(shù),并判斷給出的兩個(gè)矩陣

2、行、列數(shù)對(duì)于所要求作的運(yùn)算是否相匹配??稍O(shè)矩陣的行數(shù)和列數(shù)均不超過(guò)20。2 程序可以對(duì)三元組的輸入順序加以限制,例如,按行優(yōu)先。注意研究教科書5.3.2節(jié)中的算法,以便提高計(jì)算效率。3.在用三元組稀疏矩陣時(shí),相加或相減所得結(jié)果矩陣應(yīng)該另生成,乘積矩陣也可用二維數(shù)組存放。三:詳細(xì)設(shè)計(jì)1:數(shù)據(jù)結(jié)構(gòu)的定義元素類型、變量、指針類型(1) 項(xiàng)目數(shù)據(jù)表:3.2子函數(shù)函數(shù)名入口參數(shù)出口參數(shù)功能介紹main()定義二維數(shù)組及用到的各種變量3:函數(shù)調(diào)用關(guān)系無(wú)函數(shù)調(diào)用關(guān)系,只有一個(gè)主函數(shù)四:調(diào)試分析三元組順序的輸入規(guī)則。以 0 0 0 作為輸入的結(jié)束信號(hào)。完成實(shí)現(xiàn)稀疏矩陣的相加、相減、相乘的運(yùn)算。五:用戶使用說(shuō)明

3、(1) 首先運(yùn)行文件系統(tǒng)1. 首先定義要運(yùn)算的第一個(gè)稀疏矩陣的行列數(shù)定義完成之后輸入另一個(gè)要運(yùn)算的稀疏矩陣的行列。(2) 輸入信息:如下圖所示輸入兩個(gè)矩陣的元素所有輸入信息以及運(yùn)算方法輸入完成之后?;剀囍苯铀愠鼋Y(jié)果(3) 輸出信息:六、源代碼/*項(xiàng)目名稱:稀疏矩陣的運(yùn)算*設(shè)計(jì)者:楊德龍,柴益新,孫少輝*實(shí)現(xiàn)目標(biāo):實(shí)現(xiàn)矩陣的加法,減法,乘法;*/#include<stdio.h>#include<windows.h>int main()/定義二維數(shù)組及用到的各種變量int a2020; int b2020;int c2020;int m,n,k,l,i,j,p;int s

4、um;int o;char t;/輸入操作printf("請(qǐng)輸入第一個(gè)矩陣的行列n");scanf("%d%d",&n,&m); /初始化a數(shù)組for(i=0;i<n;i+)for(j=0;j<m;j+)aij=0;printf("請(qǐng)輸入第二個(gè)矩陣的行列n");scanf("%d%d",&k,&l); /初始化b數(shù)組for(i=0;i<n;i+)for(j=0;j<m;j+)bij=0;printf("請(qǐng)用三元組的方式輸入第一個(gè)矩陣(例 1 1 1)

5、(輸入0 0 0時(shí)結(jié)束)n");while(true)scanf("%d%d%d",&i,&j,&p);if(i=0 && j=0 && p=0)break;elseai-1j-1=p;printf("請(qǐng)用三元組的方式輸入第二個(gè)矩陣(例 1 1 1)(輸入0 0 0時(shí)結(jié)束)n");while(true)scanf("%d%d%d",&i,&j,&p);if(i=0 && j=0 && p=0)break;elseb

6、i-1j-1=p;printf("請(qǐng)輸入執(zhí)行操作(+或-或*)n");while(true)getchar(); scanf("%c",&t);if(t='+') /加法運(yùn)算if(n!=k | m!=l)printf("不能進(jìn)行該運(yùn)算!");exit(0); /結(jié)束elseprintf("答案為:n");for(i=0;i<n;i+)for(j=0;j<m;j+)printf("%d ",aij+bij);printf("n");exit(

7、0); /結(jié)束else if(t='-') /減法運(yùn)算if(n!=k | m!=l)printf("不能進(jìn)行該運(yùn)算!");exit(0); /結(jié)束elseprintf("答案為:n");for(i=0;i<n;i+)for(j=0;j<m;j+)printf("%d ",aij-bij);printf("n");exit(0); /結(jié)束else if(t='*') /乘法運(yùn)算if(m!=k)printf("不能進(jìn)行該運(yùn)算!");exit(0); /結(jié)束elseprintf("答案為:n");for(o=0;o<n;o+)for(i=0;i<l;i+)sum=0;for(j=0;j<m;j+)sum=sum+aoj*bj

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論