版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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> 計(jì)算機(jī)科學(xué)與技術(shù)系 </p><p> 課程設(shè)計(jì)項(xiàng)目研究報(bào)告</p><p><b> 目 錄</b></p><p> 第 1 章 項(xiàng)目簡(jiǎn)介3</p><p> 1.1 項(xiàng)目名稱
2、3</p><p> 1.2 開發(fā)人員3</p><p> 1.3 指導(dǎo)教師3</p><p> 第 2 章 項(xiàng)目研究意義3</p><p> 2.1 課程設(shè)計(jì)概述3</p><p> 2.2 需求分析及研究意義3</p><p> 2.3 研究意義3</p>
3、;<p> 第 3 章 采用的技術(shù)4</p><p> 3.1 課程設(shè)計(jì)的方案設(shè)計(jì)論證4</p><p> 3.2 重要算法的設(shè)計(jì)、流程描述或偽代碼描述4</p><p> 第4 章 課程設(shè)計(jì)項(xiàng)目進(jìn)度表6</p><p> 第5 章 課程設(shè)計(jì)任務(wù)分配表6</p><p> 第6
4、 章 達(dá)到的效果7</p><p> 6.1 程序設(shè)計(jì)思想7</p><p> 6.2 程序最終實(shí)現(xiàn)結(jié)果8</p><p> 第7 章 源程序8</p><p> 7.1 源代碼8</p><p> 第8 章 設(shè)計(jì)心得11</p><p> 第9章 參考
5、文獻(xiàn)11</p><p> 第 1 章 項(xiàng)目簡(jiǎn)介</p><p><b> 1.1 項(xiàng)目名稱</b></p><p><b> 稀疏矩陣加法運(yùn)算器</b></p><p><b> 1.2 開發(fā)人員</b></p><p><b>
6、 1.3 指導(dǎo)教師</b></p><p> 第 2 章 項(xiàng)目研究意義</p><p> 2.1 課程設(shè)計(jì)概述</p><p> 稀疏矩陣是指多數(shù)元素為0的矩陣,利用系數(shù)特點(diǎn)進(jìn)行存儲(chǔ)和計(jì)算可以大大節(jié)省存儲(chǔ)空間,提高計(jì)算效力。實(shí)現(xiàn)一個(gè)能進(jìn)行稀疏加法的運(yùn)算。</p><p> 2.2 需求分析及研究意義</p>
7、<p> (1)首先輸入矩陣的行數(shù)和列數(shù),并判別給出的兩個(gè)矩陣的行數(shù),列數(shù)對(duì)于所需求的運(yùn)算是否匹配。</p><p> (2)程序存儲(chǔ)用三元組存儲(chǔ)表表示,按行優(yōu)先表示。</p><p> ?。?)在三元組表示稀疏矩陣,矩陣的相加所得結(jié)果矩陣另生成。 </p><p><b> 2.3 研究意義</b></p>
8、<p> 矩陣加法了解:矩陣之間也可以相加。把兩個(gè)矩陣對(duì)應(yīng)位置的單個(gè)元素相加,得到的新矩陣就是矩陣加法的結(jié)果。由其運(yùn)算法則可知,只有行數(shù)和列數(shù)完全相同的矩陣才能進(jìn)行加法運(yùn)算。</p><p> 矩陣之間相加沒有順序,假設(shè)A、B都是矩陣,則A+B=B+A。通常認(rèn)為矩陣沒有減法,若要與一個(gè)矩陣相減,在概念上是引入一個(gè)該矩陣的負(fù)矩陣,然后相加。A-B是A+(-B)的簡(jiǎn)寫</p><
9、p><b> 3………………..</b></p><p> 第 3 章 采用的技術(shù)</p><p> 3.1 課程設(shè)計(jì)的方案設(shè)計(jì)論證</p><p> ?。?)輸入存儲(chǔ)矩陣的算法。</p><p> ?。?)存儲(chǔ)稀疏矩陣用三元組表示。</p><p> ?。?)稀疏矩陣的加法算法編寫
10、。</p><p><b> (4)輸出稀疏矩陣</b></p><p> 3.2 重要算法的設(shè)計(jì)描述</p><p> 矩陣的加法算法設(shè)計(jì)思路,描述</p><p> void add(TriTable *A,TriTable *B,TriTable *C)</p><p> { in
11、t i,j,k;</p><p> if(A->m!=B->m||A->n!=B->n)</p><p> { printf("these two arrey unable to add"); return;}</p><p> C->m=A->m;C->n=A->n;</p>
12、<p><b> C->t=0;</b></p><p> if(A->t==0&&B->t==0) return;</p><p><b> i=j=k=1;</b></p><p> while(i<=A->t&&j<=B->t
13、)</p><p> { if(A->data[i].row<B->data[j].row)</p><p> { C->data[k]=A->data[i];</p><p><b> i++;k++;</b></p><p><b> }</b></p
14、><p><b> else</b></p><p> { if(A->data[i].row>B->data[j].row)</p><p> { C->data[k]=B->data[j];</p><p><b> j++;k++;</b></p>
15、<p><b> }</b></p><p><b> else</b></p><p> { if(A->data[i].col<B->data[j].col)</p><p> { C->data[k]=A->data[i];</p><p>
16、<b> i++;k++;</b></p><p><b> }</b></p><p><b> else</b></p><p> 4 { if(A->data[i].col>B->data[j].col)</p><p> {
17、C->data[k]=B->data[j];</p><p><b> j++;k++;</b></p><p><b> }</b></p><p><b> else</b></p><p> { if(A->data[i].v+B->da
18、ta[j].v!=0)</p><p> { C->data[k].row=A->data[i].row;</p><p> C->data[k].col=A->data[i].col;</p><p> C->data[k].v=A->data[i].v+B->data[j].v;</p><
19、p><b> k++;</b></p><p><b> }</b></p><p><b> i++;j++;</b></p><p><b> }</b></p><p><b> }</b></p>
20、<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> while(i<A->t)</p><p> { C->data[k]=A->data[i];</p
21、><p><b> i++;k++;</b></p><p><b> }</b></p><p> while(j<B->t)</p><p> { C->data[k]=B->data[j];</p><p><b> j++;k+
22、+;</b></p><p><b> }</b></p><p><b> C->t=k;</b></p><p><b> }</b></p><p> 5
23、
24、 </p><p> 第4 章 課程設(shè)計(jì)項(xiàng)目進(jìn)度表</p><p> 第5 章 課程設(shè)計(jì)任務(wù)分配表</p><p><b> 6</b></p><p> 第6 章 達(dá)到的效果</p><p> 6.1 程序設(shè)計(jì)思想</p&
25、gt;<p> ?。?)輸入存儲(chǔ)矩陣的算法。</p><p> ?。?)存儲(chǔ)稀疏矩陣用三元組表示。</p><p> ?。?)稀疏矩陣的加法算法編寫。</p><p><b> ?。?)輸出稀疏矩陣</b></p><p> 6.2 程序最終實(shí)現(xiàn)結(jié)果</p><p><b&
26、gt; 第7 章 源程序</b></p><p><b> 7.1 源代碼</b></p><p> #include "stdio.h"</p><p> #define MAXSIZE 1000</p><p> typedef int ElemType;</p>
27、;<p> typedef struct</p><p> { int row,col;</p><p> ElemType v;</p><p><b> }Triple;</b></p><p> typedef struct</p><p> { Triple da
28、ta[MAXSIZE];</p><p> int m,n,t;</p><p> }TriTable;</p><p> /*add part*/</p><p> void add(TriTable *A,TriTable *B,TriTable *C)</p><p> { int i,j,k;<
29、/p><p> if(A->m!=B->m||A->n!=B->n)</p><p> 8 { printf("these two arrey unable to add"); return;}</p><p> C->m=A->m;C->n=A->n;</p><p>&
30、lt;b> C->t=0;</b></p><p> if(A->t==0&&B->t==0) return;</p><p><b> i=j=k=1;</b></p><p> while(i<=A->t&&j<=B->t)</p>
31、;<p> { if(A->data[i].row<B->data[j].row)</p><p> { C->data[k]=A->data[i];</p><p><b> i++;k++;</b></p><p><b> }</b></p><
32、p><b> else</b></p><p> { if(A->data[i].row>B->data[j].row)</p><p> { C->data[k]=B->data[j];</p><p><b> j++;k++;</b></p><p>
33、;<b> }</b></p><p><b> else</b></p><p> { if(A->data[i].col<B->data[j].col)</p><p> { C->data[k]=A->data[i];</p><p><b>
34、 i++;k++;</b></p><p><b> }</b></p><p><b> else</b></p><p> { if(A->data[i].col>B->data[j].col)</p><p> { C->data[k]=B->
35、data[j];</p><p><b> j++;k++;</b></p><p><b> }</b></p><p><b> else</b></p><p> { if(A->data[i].v+B->data[j].v!=0)</p>
36、;<p> { C->data[k].row=A->data[i].row;</p><p> C->data[k].col=A->data[i].col;</p><p> C->data[k].v=A->data[i].v+B->data[j].v;</p><p><b> k++;
37、</b></p><p><b> }</b></p><p><b> i++;j++;</b></p><p><b> }</b></p><p><b> }</b></p><p><b>
38、 }</b></p><p><b> }</b></p><p><b> }</b></p><p> while(i<A->t)</p><p> { C->data[k]=A->data[i];</p><p><b
39、> i++;k++;</b></p><p><b> }</b></p><p> while(j<B->t)</p><p> { C->data[k]=B->data[j];</p><p><b> j++;k++;</b></p&g
40、t;<p><b> 9 }</b></p><p><b> C->t=k;</b></p><p><b> }</b></p><p> /*creat part*/</p><p> void creatarrey(TriTable *
41、A)</p><p> { int i,j;</p><p> printf("please input the number of row:");</p><p> scanf("%d",&A->m);</p><p> printf("please input the
42、 number of col:");</p><p> scanf("%d",&A->n);</p><p> printf("please input the number of data:");</p><p> scanf("%d",&A->t);</
43、p><p> for(i=1;i<=A->t;i++)</p><p> {printf("please input the %d data:",i);</p><p> scanf("%d,%d,%d",&A->data[i].row,&A->data[i].col,&A-&
44、gt;data[i].v);</p><p><b> }</b></p><p><b> }</b></p><p> /*output part*/</p><p> void output(TriTable *A)</p><p> { int i,j,t
45、,k=0;</p><p><b> t=1;</b></p><p> printf(" the arrey is: \n");</p><p> for(i=1;i<=A->m;i++)</p><p> {for(j=1;j<=A->n;j++)</p&g
46、t;<p> { if(A->data[t].row==i&&A->data[t].col==j)</p><p> { printf("%4d",A->data[t].v);t++;}</p><p> else printf("%4d",k);</p><p><
47、;b> }</b></p><p> printf("\n");</p><p><b> }</b></p><p><b> }</b></p><p> /*main part*/</p><p> void main(
48、 )</p><p> { int i=0;</p><p> TriTable A,B,C;</p><p> while(i<3)</p><p> {printf("1 add arrey,A+B=C\n");</p><p> printf("2 quit prog
49、ram\n");</p><p> printf("please select item to operarting:");</p><p> scanf("%d",&i);</p><p><b> switch(i)</b></p><p> {cas
50、e 1: creatarrey(&A);output(&A);creatarrey(&B);output(&B);add(&A,&B,&C);output(&C);break;</p><p> case 2: break;</p><p><b> 10 }</b></p><
51、p><b> }</b></p><p><b> getch();</b></p><p><b> }</b></p><p><b> 第8章 設(shè)計(jì)心得</b></p><p> 設(shè)計(jì)心得(本次課程設(shè)計(jì)的心得、收獲等)</p&
52、gt;<p> 首先必須了解稀疏矩陣概念,存儲(chǔ)及矩陣的加法運(yùn)算,三元組順序表的存儲(chǔ)表示。其次對(duì)三元組的輸入運(yùn)算,加法算法的輸入算法,必須認(rèn)真上網(wǎng)了解,認(rèn)真分析。最后,在對(duì)輸入程序的運(yùn)行情況做認(rèn)真的錯(cuò)誤分析,總結(jié)出錯(cuò)原因。通過這次實(shí)踐,自己對(duì)軟件有更深的了解,對(duì)計(jì)算機(jī)的硬件運(yùn)算也有一定的認(rèn)識(shí)。</p><p> 第9 章 參考文獻(xiàn)</p><p> [1] 吳偉民,數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)--稀疏矩陣運(yùn)算器
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--基本稀疏矩陣運(yùn)算的運(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ù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告 稀疏矩陣運(yùn)算器
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告 稀疏矩陣運(yùn)算器設(shè)計(jì)
- 課程設(shè)計(jì)--設(shè)計(jì)一個(gè)矩陣運(yùn)算器
- 稀疏矩陣的運(yùn)算課程設(shè)計(jì)
- 稀疏矩陣的運(yùn)算課程設(shè)計(jì)
- 數(shù)電課程設(shè)計(jì)報(bào)告---運(yùn)算器
- 課程設(shè)計(jì)-單片機(jī)課程設(shè)計(jì)論文-4位數(shù)加法運(yùn)算器的設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-- 稀疏矩陣的運(yùn)算
- 數(shù)字邏輯課程設(shè)計(jì)---基于fpga的簡(jiǎn)單運(yùn)算器
- 課程設(shè)計(jì)---稀疏矩陣應(yīng)用
- 稀疏矩陣相乘課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告—稀疏矩陣的完全鏈表表示及其運(yùn)算
- 補(bǔ)碼一位乘法浮點(diǎn)運(yùn)算器--課程設(shè)計(jì)報(bào)告
- 運(yùn)算器的設(shè)計(jì)
- eda課程設(shè)計(jì)--2位十進(jìn)制四則運(yùn)算器電路四則運(yùn)算器
- 數(shù)據(jù)結(jié)構(gòu)--稀疏矩陣課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論