




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上實驗報告-矩陣運算 一實驗目的。1.通過實踐加強對程序設計語言課程知識點的理解和掌握,培養對課程知識綜合運用能力、實際分析問題能力及編程能力,養成良好的編程習慣。2.通過實踐進一步領會程序設計的特點和應用,提高運用C+ 語言以及面向對象知識解決實際問題的能力。3.通過實踐掌握用C+ 語言編寫面向對象的實用程序的設計方法,對面向對象方法和思想增加感性的認識;4.學會利用C+程序設計語言編寫出一些短小、可靠的Windows實用程序,切實提高面向對象的程序設計能力。為后續的相關課程的學習打下基礎。二實驗要求。1.學會建立模板類;2.實現矩陣的“加”、“減”、“乘”、“數乘”
2、、“轉置” ;3.動態內存分配并用隨機數填充;4.注意“加”、“減”、“乘” 要進行條件的判斷;三設計思路。3.1算法基本流程1) 獲取用戶輸入的矩陣1的行數和列數,動態生成一個一維數組2) 利用隨機數生成數組成員,并利用兩個循環輸出數組,使其符合矩陣的格式3) 矩陣2同矩陣1的處理方法4) 通過兩個矩陣的行數和列數比較來判斷能否進行加減乘等運算,如不能,輸出相關信息5) 如能夠進行計算,則利用數組進行相應運算,并按照正確格式輸出6) 通過改變一維數組中元素的順序來實現轉置并輸出3.2算法流程圖四基本界面。五關鍵代碼。5.1關鍵類的聲明class CMatrixclasspublic:CMat
3、rixclass()int m_Row = 0; /行int m_Col = 0; /列m_pElements = NULL; /一維數組;virtual CMatrixclass()delete m_pElements;public:int m_Row;int m_Col;int * m_pElements;5.2關鍵函數代碼void CMyView:OnCHECKadd() m_nums.SetCheck(0);m_combine.SetCheck(0);m_subtrict.SetCheck(0);void CMyView:OnCHECKsubtrict() m_add.SetCheck
4、(0);m_combine.SetCheck(0);m_nums.SetCheck(0);void CMyView:OnCHECKcombine() m_add.SetCheck(0);m_nums.SetCheck(0);m_subtrict.SetCheck(0);void CMyView:OnCHECKnums() m_add.SetCheck(0);m_combine.SetCheck(0);m_subtrict.SetCheck(0);void CMyView:OnBUTTONcompute() UpdateData(TRUE);/ TODO: Add your control no
5、tification handler code hereif(m_add.GetState()=1)if(op1-imax!=op2-imax|op1-jmax!=op2-jmax|op1=NULL|op2=NULL)m_result=行數列數不等無法相加!;elsematrix c(op1-imax,op1-jmax);c=*op1+*op2;m_result=matrix1+matrix2;m_result+=rn;m_result+=c.my_show();else if(m_subtrict.GetState()=1)if(op1-imax!=op2-imax|op1-jmax!=op
6、2-jmax|op1=NULL|op2=NULL)m_result=行數列數不等無法相減!;elsematrix c(op1-imax,op1-jmax);c=*op1-*op2;m_result=matrix1-matrix2;m_result+=rn;m_result+=c.my_show();else if(m_combine.GetState()=1)if(op1-jmax!=op2-imax|op1=NULL|op2=NULL)m_result=以上無法相乘!;elsematrix c(op1-imax,op2-jmax);c=(*op1)*(*op2);m_result=matri
7、x1*matrix2;m_result+=rn;m_result+=c.my_show();else if(m_nums.GetState()=1)if(op2=NULL)m_result=運算不出結果!;elsematrix c(op2-imax,op2-jmax); c=m_k*(*op2);m_result=k*matrix2;m_result+=rn;m_result+=c.my_show();elsem_result=請先選定一個算法!;UpdateData(FALSE);void CMyView:OnBUTTONrotate() UpdateData(TRUE);if(m_r1.G
8、etState()=1)if(op1=NULL)m_result=請先輸入矩陣!;elsematrix c=rotate(*op1);m_result=matrix1轉置;m_result+=rn;m_result+=c.my_show();else if(m_r2.GetState()=1)if(op2=NULL)m_result=請先輸入矩陣!;elsematrix c=rotate(*op2);m_result=matrix2轉置;m_result+=rn;m_result+=c.my_show();elsem_result=請選擇一個矩陣!;UpdateData(FALSE);void
9、 CMyView:OnCHECKr1() UpdateData(TRUE);m_r2.SetCheck(0);UpdateData(FALSE);void CMyView:OnCHECKr2() UpdateData(TRUE);m_r1.SetCheck(0);UpdateData(FALSE);六實驗心得與編程收獲。這個程序是相對簡單一些的,但在編寫的過程中我仍然感覺收獲很多.首先是合理運用一維數組,利用它來進行矩陣的相關運算,并且最后利用數組來輸出矩陣,這也加強了我運用CString的能力.然后在制作界面方面使我更加得心應手,能夠快速完成界面及相關的屬性設置.最后還有動態生成矩陣方面也幫我復習了從前的知識.七總結展望與參考書目。7.1總結展望盡管這次的矩陣并不完善,只能作一些簡單的運算,但是我想矩陣在今后無論學習還是工作中應該都會經常遇到,這是一個比較基礎的知識,通過這次的編程過程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學物理考試不可逆過程理解試題及答案
- 2025屆新疆烏魯木齊市高三下學期三模英語試題(原卷版+解析版)
- 2025年大學化學講座回顧試題及答案
- 2025年精準醫學課程考試試卷及答案
- 2022年全國中學生數學奧林匹克競賽(預賽)暨 2022年全國高中數學聯合競賽一試(A2 卷)參考答案及評分標準
- 2018年全國數學高聯A卷-試題
- 樓盤抵押貸款合同協議
- 微信租車庫合同協議
- 品質面料采購合同協議
- 比亞迪換車合同協議
- 2024醫療設備器械試用協議書
- 甘肅省武威第七中學2023-2024學年八年級下學期期中考試英語試題
- ASME材料-設計許用應力
- 采用SF6N2混合氣體絕緣的GIS母線和GIL應用導則
- MOOC 家具史-南京林業大學 中國大學慕課答案
- 大學生心理健康知識競賽題庫及答案(174題)
- JGJ79-2012 建筑地基處理技術規范
- 海康威視校招在線測評題庫
- 電網兩票培訓課件
- 數學奧秘揭秘-揭開數學背后的奧秘
- 溫度傳感器Pt100-阻值-溫度對照表(方便實用)
評論
0/150
提交評論