




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 題目n 維矩陣的乘法 AB-1 學(xué)號_ 姓名_ 專業(yè)_ 指導(dǎo)老師 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 第一章:課程設(shè)計的目的 第二章:課程設(shè)計的內(nèi)容和要求 課程設(shè)計的內(nèi)容 運行環(huán)境 第三章:課程設(shè)計分析 矩陣的存儲 矩陣的輸入與輸出 矩陣的乘法運算 矩陣的求逆運算 第四章:課程設(shè)計的算法描述 矩陣的存儲 矩陣的輸出 矩陣的乘法 矩陣的求逆運算 第五章:源代碼 11 第六章:結(jié)束語 第3頁共11頁 第一章:課程設(shè)計的目的 本學(xué)期我們對數(shù)據(jù)結(jié)構(gòu)這門課程進(jìn)行了學(xué)習(xí)。這門課程是一門實踐性非 常強的課程,為了讓大家更好地理解與運用所學(xué)知識, 提高動手能力,我們進(jìn)行 了此次課程設(shè)計實習(xí)。這次課程設(shè)計不但要
2、求實習(xí)者掌握 數(shù)據(jù)結(jié)構(gòu)中的各方 面知識,還要求實習(xí)者具備一定的 C語言基礎(chǔ)和編程能力。 具體說來,這次課程設(shè)計主要有兩大方面目的。 一是讓實習(xí)者通過實習(xí)掌握 數(shù)據(jù)結(jié)構(gòu)中的知識。對于矩陣乘法這一課題 來說,所要求掌握的數(shù)據(jù)結(jié)構(gòu)知識主要是數(shù)組的相關(guān)概念和數(shù)組用來存儲矩陣的 相關(guān)便利性。 二是通過實習(xí)鞏固并提高實習(xí)者的 C語言知識,并初步了解Visual C+的知 識,提高其編程能力與專業(yè)水平。 章:課程設(shè)計的內(nèi)容和要求 課程設(shè)計的內(nèi)容 設(shè)計一個矩陣相乘的程序,首先從鍵盤輸入兩個矩陣a,b的內(nèi)容,并輸出 兩個矩陣,輸出ab-1結(jié)果。 要求 要求 1) 2) 3) 4) 5) 界面友好,函數(shù)功能要劃分
3、好 總體設(shè)計應(yīng)畫一流程圖 程序要加必要的注釋 要提供程序測試方案 程序一定要經(jīng)得起測試,寧可功能少一些,也要能運行起來,不能運行的程序是 沒有價值的。 運行環(huán)境 該程序的運行環(huán)境為 Windows xp系統(tǒng),Microsoft Visual C+6.0版本。 第三章:課程設(shè)計分析 矩陣的存儲 矩陣的結(jié)構(gòu)類似于c語言中的二維數(shù)組,所以可以用二維數(shù)組來存儲矩陣, 這樣 的結(jié)構(gòu)很簡便而且也最符合要求。 矩陣的輸入與輸出 選擇二維數(shù)組作為矩陣的存儲結(jié)構(gòu)那么可以采用二維數(shù)組的輸入與輸出的方式 來對矩陣進(jìn)行輸入輸出操作。利用兩個 for循環(huán)語句可以實現(xiàn)將矩陣中的元素存 入到二維數(shù)組中,但是要注意的是矩陣的
4、行和列的下標(biāo)都是從 1開始的但是二維 數(shù)組的行和列的下標(biāo)都是從0開始所以在編寫程序的時候要注意這些差別。 矩陣的乘法運算 矩陣的乘法運算時線性代數(shù)里的知識,兩個n階的矩陣相乘,設(shè)有三個矩陣A,B,C, 矩陣A乘矩陣B等于矩陣C,那么矩陣C中的第i行第j列的元素等于矩陣A 的第i行元素和矩陣B的第j列對應(yīng)的元素的乘積的和。 矩陣的求逆運算 定義一個矩陣的求逆的運算的函數(shù),函數(shù)名為inverse,函數(shù)的參數(shù)為數(shù)組B,利 用線性代數(shù)中的初等變換的知識求矩陣的逆 第四章:課程設(shè)計的算法描述 矩陣的存儲 printf(” 輸入矩陣 a:); for(i=0;iN;i+) for(j=0;jN;j+) 數(shù)
5、據(jù)結(jié)構(gòu)課程設(shè)計 /*輸入矩陣 A*/ printf(”請再輸入矩陣b:); for(i=0;iN;i+) for(j=0;jN;j+) scan f(%f, /*輸入矩陣B*/ 矩陣的輸出 printf(”請輸出矩陣A和B的乘積矩陣C:n); for(i=0;iN;i+) for(j=0;jN;j+) prin tf(%ft,cij); prin tf(n); 矩陣的乘法 定義一個全局變量 sum初值為0.0; for(i=0;iN;i+) for(j=0;jN;j+) for(k=0;kN;k+) sum+=aik*bkj; cij=sum; sum=0; /*矩陣的乘法的函數(shù)的內(nèi)容 */
6、矩陣的求逆運算 y=1;矩陣維數(shù)N, 定義一個函數(shù),函數(shù)名為inverse;之前定義全局變量 和整型變量i,和j, 第4頁共11頁 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 函數(shù)的參數(shù)為數(shù)組 B,返回值為數(shù)組B的逆矩陣B-1 void in verse(float mNN) /*inverse函數(shù)是對矩陣的求逆運算的函數(shù)*/ int dN2*N; float t,x; int k; printf(B 原矩陣為:n); for (i=0;iN;i+) for (j=0;jN;j+) prin tf(%3.2ft,mij); prin tf(n); /*將原數(shù)組輸出*/ for(i=0;iN;i+) for(j=0;j(
7、2*N);j+) if (jN) dij=mij; else if (j=N+i) dij=1.0; else dij=O.O; /*將數(shù)組b中的元素轉(zhuǎn)存到變量數(shù)組d中,其中d中的另 半元素對應(yīng)一個單位矩陣 */ for(i=0;iN;i+) for(k=0;kN;k+) if(k!=i) t=dki/dii; for(j=0;j(2*N);j+) x=dij*t; dkj=dkj-x; 第8頁共11頁 /*矩陣的初等變換*/ for(i=0;iN;i+) t=dii; for(j=0;j(2*N);j+) dij=dij/t; for(i=0;iN;i+) y=y*dii; if(y=0)
8、n); printf(對不起,您輸入的矩陣沒有逆矩陣,請重新輸入。 else for(i=0;iN;i+) for(j=0;jN;j+) mij=dij+N; printf(B 逆矩陣為:n); for (i=0;iN;i+) for (j=0;jN;j+) prin tf(%3.2ft,mij); prin tf(n); 第五章:源代碼 #in clude #defi ne N 3 int i,j,k; float y=1.0; float aNN,bNN,cNN;/*定義全局變量的三個數(shù)組*/ /*矩陣的乘法的函數(shù)的內(nèi)容 */ void in verse(float mNN); int m
9、ai n() printf(” 輸入矩陣 a:); for(i=0;iN;i+) for(j=0;jN;j+) scan f(%f, /*輸入矩陣A*/ printf(”請再輸入矩陣 b:); for(i=0;iN;i+) for(j=0;jN;j+) scan f(%f, /*輸入矩陣B*/ in verse(b);/*調(diào)用in verse函數(shù)對矩陣b進(jìn)行求逆運算*/ for(i=0;iN;i+) for(j=0;jN;j+) for(k=0;kN;k+) cij+=aik*bkj; printf(”請輸出矩陣 A和B的乘積矩陣C:n); for(i=0;iN;i+) for(j=0;jN;
10、j+) prin tf(%3.2ft,cij); prin tf(n); 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 /*主函數(shù)結(jié)束*/ void in verse(float mNN) /*inverse函數(shù)是對矩陣的求逆運算的函數(shù)*/ float dN2*N; float t,x; int k; printf(B 原矩陣為:n); for (i=0;iN;i+) for (j=0;jN;j+) prin tf(%3.2ft,mij); prin tf(n); /*將原數(shù)組輸出*/ for(i=0;iN;i+) for(j=0;j(2*N);j+) if (jN) dij=mij; else if (j=N+i) d
11、ij=1.0; else dij=0.0; /*將數(shù)組b中的元素轉(zhuǎn)存到變量數(shù)組d中,其中d中的另 半元素對應(yīng)一個單位矩陣 */ for(i=0;iN;i+) for(k=0;kN;k+) if(k!=i) t=dki/dii; for(j=0;j(2*N);j+) x=dij*t; dkj=dkj-x; 第8頁共11頁 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 第11頁共11頁 /*矩陣的初等變換*/ for(i=0;iN;i+) t=dii; for(j=0;j(2*N);j+) dij=dij/t; for(i=0;iN;i+) y=y*dii; if(y=0) n); printf(對不起,您輸入的矩陣沒有逆矩
12、陣,請重新輸入。 else for(i=0;iN;i+) for(j=0;jN;j+) mij=dij+N; printf(B 逆矩陣為:n); for (i=0;iN;i+) for (j=0;jN;j+) prin tf(%3.2ft,mij); prin tf(n); 輸入鉅陣自二1 0 0 18再輸入拒陣b: L B厲矩陣為= 1, W0* W 1. 002, 00 1. 00比 00 E逆拒陣為= 1. 000. 00 -0. E00. 50 0. 00-0. 33 12 0 12 3 00120123 0*8 0.00 3.00 0.00 0,00 (X 33 0*00 0.00
13、1,00 to continue 第六章: 結(jié)束語 請輸出矩陣積走陣 1* 00Q* 00 0* 00k 00 0.00-0.00 Pressany key 轉(zhuǎn)眼,為期兩周的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計實習(xí)即將結(jié)束了。在這次實習(xí)中, 自己的C語言知識和數(shù)據(jù)結(jié)構(gòu)知識得到了鞏固,編程能力也有了一定的提高。 同時也學(xué)會了解決問題的方法。總結(jié)起來,自己主要有以下幾點體會: 1.必須牢固掌握基礎(chǔ)知識。由于 C語言是大一所學(xué)知識,有所遺忘,且未掌 握好這學(xué)期所學(xué)的數(shù)據(jù)結(jié)構(gòu)這門課,所以在實習(xí)之初感到棘手。不知如何下 手,但在后來的實習(xí)過程中自己通過看書和課外資料,并請教其他同學(xué),慢慢地 對C語言和數(shù)據(jù)結(jié)構(gòu)知識有所熟悉。這時才逐漸有了思路。所以,這次實習(xí)之 后,我告誡自己:今后一定要牢固掌握好專業(yè)基礎(chǔ)知識。 2必、須培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度。自己在編程時經(jīng)常因為一些類似于“少了分號” 的小錯誤而導(dǎo)致錯誤,不夠認(rèn)真細(xì)致,這給自己帶來了許多麻煩。編程是一件十 分嚴(yán)謹(jǐn)?shù)氖虑?,容不得馬虎。所以在今后自己一定要培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度。 我想 這不僅是對于程序設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國自動駕駛潛艇行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國自動柜員機外包行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國膝蓋重建材料行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國胰島素樣生長因子1受體行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國腫瘤標(biāo)記物測試行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國肌松藥行業(yè)深度研究及發(fā)展前景投資評估分析
- 2025至2030中國聯(lián)合辦學(xué)行業(yè)深度研究及發(fā)展前景投資評估分析
- 2025至2030中國網(wǎng)球握拍過度行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國綠色蔬菜生產(chǎn)行業(yè)市場深度調(diào)研及發(fā)展策略與投資前景預(yù)測報告
- 2025至2030中國結(jié)晶芳香聚酯行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- GB/T 1874-1995磷礦石和磷精礦中酸不溶物含量的測定重量法
- GB 30980-2014海洋傾倒物質(zhì)評價規(guī)范疏浚物
- GA/T 1169-2014警用電子封控設(shè)備技術(shù)規(guī)范
- 第十二篇 糖尿病患者生活常識
- 污水處理站安全培訓(xùn)課件
- 2015高考全國新課標(biāo)1地理試題及答案
- 超星爾雅《詩經(jīng)》導(dǎo)讀檢測題答案
- GB 27954-2020 黏膜消毒劑通用要求
- 中考《紅星照耀中國》各篇章練習(xí)題及答案(1-12)
- (完整版)ECRS培訓(xùn)課件
- 外輪理貨工作英語
評論
0/150
提交評論