版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 課程設(shè)計(jì)題目:稀疏矩陣的轉(zhuǎn)置 </p><p> 2012年 06 月 21 日</p><p><b> 目錄</b></p><p><b> 一、課程設(shè)計(jì)題目</b>&l
2、t;/p><p> 二、題目與流程圖或模塊圖</p><p> 三、程序清單和運(yùn)行結(jié)果</p><p> 四、小結(jié)(收獲和體會(huì))</p><p><b> 一、課程設(shè)計(jì)目的:</b></p><p> 課程設(shè)計(jì)為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起
3、來(lái),鍛煉學(xué)生的分析解決實(shí)際問(wèn)題的能力。提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力。</p><p> 二、題目與流程圖或模塊圖</p><p><b> 1、題目:</b></p><p><b> 稀疏矩陣的轉(zhuǎn)置</b></p><p> 要求:1)以三元組的方式存儲(chǔ)稀疏矩陣</p>
4、<p> 2)普通轉(zhuǎn)置方法實(shí)現(xiàn)</p><p> 3)快速轉(zhuǎn)置方法實(shí)現(xiàn)</p><p><b> 2、流程圖:</b></p><p> 三、程序清單和運(yùn)行結(jié)果:</p><p><b> 1、程序清單:</b></p><p> # define ma
5、xsize 1000</p><p> typedef int elemtype;</p><p> typedef struct</p><p><b> {</b></p><p> int row,col;</p><p> elemtype e;</p><
6、p><b> }triple;</b></p><p> typedef struct</p><p><b> {</b></p><p> triple data[maxsize+1];</p><p> int m,n,len;</p><p> }t
7、smatrix;</p><p> int init(triple *s)</p><p><b> {</b></p><p> s->row=s->col=0;</p><p><b> }</b></p><p> int create(tsmat
8、rix *b)</p><p><b> {</b></p><p><b> int i;</b></p><p> printf("please input m,n,len\n");</p><p> scanf("%d%d%d",&b-&
9、gt;m,&b->n,&b->len);</p><p> for(i=1;i<=b->len;i++)</p><p><b> {</b></p><p> printf("please input e,row,col\n");</p><p> s
10、canf("%d%d%d",&b->data[i].e,&b->data[i].row,&b->data[i].col);</p><p><b> }</b></p><p><b> }</b></p><p> void transposetsmat
11、rix(tsmatrix a,tsmatrix *b)</p><p><b> {</b></p><p> int i,j,k;</p><p><b> b->m=a.n;</b></p><p><b> b->n=a.m;</b></p>
12、;<p> b->len=a.len;</p><p> if(b->len<=0)</p><p> printf("the matrix is empty!");</p><p><b> else </b></p><p> if(b->len&g
13、t;maxsize) </p><p> printf("the matrix is error");</p><p><b> else</b></p><p><b> {</b></p><p><b> j=1;</b></
14、p><p> for(k=1;k<=a.n;k++)</p><p> for(i=1;i<=a.len;i++)</p><p> if(a.data[i].col==k)</p><p><b> {</b></p><p> b->data[j].row=a.data
15、[i].col;</p><p> b->data[j].col=a.data[i].row;</p><p> b->data[j].e=a.data[i].e;</p><p><b> j++;</b></p><p><b> }</b></p><p
16、><b> }</b></p><p><b> }</b></p><p> void fasttransposetsmatrix(tsmatrix a,tsmatrix *b)</p><p><b> {</b></p><p> int col,t,p,
17、q;</p><p> int num[maxsize],position[maxsize];</p><p> b->len=a.len;b->n=a.m;b->m=a.n;</p><p> if(b->len<=0)printf("the matrix is empty!");</p>&l
18、t;p><b> else </b></p><p> if(b->len>maxsize) </p><p> printf("the matrix is error"); </p><p><b> else</b></p><
19、;p><b> {</b></p><p> for(col=1;col<=a.n;col++)</p><p> num[col]=0;</p><p> for(t=1;t<=a.len;t++)</p><p> num[a.data[t].col]++;</p><
20、p> position[1]=1;</p><p> for(col=2;col<a.n;col++)</p><p> position[col]=position[col-1]+num[col-1];</p><p> for(p=1;p<=a.len;p++)</p><p><b> {</
21、b></p><p> col=a.data[p].col; q=position[col];</p><p> b->data[q].row=a.data[p].col;</p><p> b->data[q].col=a.data[p].row;</p><p> b->data[q].e=a.data[
22、p].e;</p><p> position[col]++;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void display(tsmatrix *b
23、)</p><p><b> {</b></p><p> int i,j,k;</p><p> for(i=1;i<=b->m;i++)</p><p> for(j=1;j<=b->n;j++)</p><p><b> {</b>&l
24、t;/p><p> for(k=1;k<=b->len;k++)</p><p><b> {</b></p><p> if(b->data[k].row==i&&b->data[k].col==j)</p><p> {printf("%5d",b-&g
25、t;data[k].e) ;break;}</p><p><b> }</b></p><p> if(k>b->len)</p><p> printf("%5d",0);</p><p> if(j==b->n) printf("\n");</
26、p><p><b> }</b></p><p><b> }</b></p><p><b> main()</b></p><p><b> {</b></p><p><b> triple s;</b&
27、gt;</p><p> tsmatrix a,b,c;</p><p><b> init(&s);</b></p><p> create(&a);</p><p> display(&a);</p><p> printf("\n");&
28、lt;/p><p> printf("pu tong zhuan zhi jie guo\n");</p><p> transposetsmatrix(a,&b);</p><p> display(&b);</p><p> printf("\n");</p>&l
29、t;p> printf("kuai su zhuan zhi jie guo\n");</p><p> fasttransposetsmatrix(a,&b);</p><p> display(&b);</p><p><b> }</b></p><p><b
30、> 2、運(yùn)行結(jié)果:</b></p><p> 輸入矩陣的行、列、長(zhǎng)度</p><p> 輸入非零元素的行、列、值</p><p> 輸出矩陣以及轉(zhuǎn)置后的矩陣</p><p> 四、小結(jié)(收獲和體會(huì)):</p><p> 通過(guò)一周的課程設(shè)計(jì)使我對(duì)數(shù)據(jù)結(jié)構(gòu)有了更深的理解,對(duì)以前學(xué)習(xí)中不明白的,
31、不理解的都有了進(jìn)一步的理解。在實(shí)際操作中遇到了很多困難,比如,在做矩陣的轉(zhuǎn)置時(shí),一開(kāi)始不了解矩陣轉(zhuǎn)置到底是什么,普通轉(zhuǎn)置的原理,快速轉(zhuǎn)置的原理。但通過(guò)查書,請(qǐng)教同學(xué)和老師,使我的動(dòng)手能力和溝通能力都有了提高。</p><p> 在整個(gè)課程設(shè)計(jì)中總是在編寫程序中發(fā)生錯(cuò)誤,有時(shí)會(huì)很沒(méi)耐性,但都被我逐個(gè)克服了,編程一定要有耐心,同時(shí)還有認(rèn)真仔細(xì),盡量保證不出現(xiàn)錯(cuò)誤。編程要有條理,不僅使自己要看懂 ,別人也能看懂,這樣
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)論文----稀疏矩陣的轉(zhuǎn)置
- 稀疏矩陣的轉(zhuǎn)置論文-數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)論文
- 課程設(shè)計(jì)--矩陣轉(zhuǎn)置與乘法.doc
- 稀疏矩陣相乘課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì)--矩陣轉(zhuǎn)置與乘法計(jì)算
- C課程設(shè)計(jì)--矩陣轉(zhuǎn)置與乘法計(jì)算.doc
- 稀疏矩陣的運(yùn)算課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 4-4 矩陣的轉(zhuǎn)置與乘法計(jì)算
- 稀疏矩陣的運(yùn)算課程設(shè)計(jì)
- 課程設(shè)計(jì)---稀疏矩陣應(yīng)用
- c語(yǔ)言課程設(shè)計(jì)報(bào)告 --求3x4數(shù)組的轉(zhuǎn)置矩陣
- 課程設(shè)計(jì)-- 4-4 矩陣的轉(zhuǎn)置與乘法計(jì)算.doc
- 數(shù)據(jù)結(jié)構(gòu)--稀疏矩陣課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---稀疏矩陣
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-- 稀疏矩陣的運(yùn)算
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--稀疏矩陣的操作
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告--稀疏矩陣運(yùn)算器
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--稀疏矩陣運(yùn)算器
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告 稀疏矩陣運(yùn)算器
- 課程設(shè)計(jì)報(bào)告—稀疏矩陣的完全鏈表表示及其運(yùn)算
評(píng)論
0/150
提交評(píng)論