




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、算法設計與分析上 機 實 驗 報 告專 業軟件工程班 級軟件1101學 號04113033學生姓名岳彥利完成日期2013-11-71. 上機題目及實驗環境1.1上機題目:數字三角形問題1.2實驗環境:CPU:英特爾 第二代酷睿i3-2330M 2.2GHz 雙核內存:4G操作系統:windows 7軟件平臺:ubuntu2. 算法設計與分析小1)根據題意找出最優解的性質,并刻畫出其結構特性。 2).以自底向上的方式計算出最優值。 3).根據計算最優值時得到的信息,構造最優解。 4).從倒數第二an-20 開始,將自己與下一行同列的數組相加在和自己與下一行下一列的數相加的結果比較,將大的存放在自
2、己中。 5).找到最大和之后,又從上往下找到組成這條最大和的路徑。3. 核心代碼 void maxsum(int (*a)max_num+10,int n)int i,j,max,t;int bn;FILE *fp1;for(i=n-1;i>=1;i-)/從倒數第二層向上求最大和for(j=1;j<=i;j+)if(aij+ai+1j)<(aij+ai+1j+1)aij=(aij+ai+1j+1);elseaij=(aij+ai+1j);if(a21<a22)/由最大和找第二層的路徑t=2;max=a22;b1=a11-a22;elset=1;max=a21;b1=a1
3、1-a21;for(i=3;i<=n;i+)從第三層開始找最大和的路徑知道第n層if(ait<ait+1)t=t+1;bi-1=max-ait;max=ait;elsebi-1=max-ait;max=ait;bn=ait;printf("路徑:n");for(i=1;i<=n;i+)printf("%d ",bi);fp1=fopen("output.txt","wt"); if(fp1=NULL) printf("cannot open!"); exit(0); fprin
4、tf(fp1,"%d",a11);printf("noutput.txt:n");fp1=fopen("output.txt","r"); if(fp1=NULL) printf("cannot open!"); exit(0); / for(i=0;!feof(fp1);i+)/printf("");fscanf(fp1,"%d",&a11);printf("%dn",a11);4. 運行與調試 圖一.寫程序時遇到的問題 (路
5、徑出錯) 圖二.修改后的正確結果 圖三. 另一組數組測試 5. 結果分析和小結如圖一,在寫路徑時最后一個數輸出結果過錯誤,經過調試 ,發現路徑循環是到倒數第二行為止的,經過修改輸出正確結果如圖二。如圖二,第一行的數代表行數,從第二行開始想最后一行找一條和最大的路徑,如圖二。如圖三, 另一組測試結果。(2)本次上機實驗的收獲、心得體會。這次的上機實驗,使我對動態規劃法有了更進一步的認識,編程的時候也有了更多的思路, 在編程之前一定把思路清晰,這樣寫的時候就比較輕松了。解決問題的時候,可以將帶求解的問題分為若干子問題求解,保存子問題的結果,遇到下一個相同的子問題直接調用就可以了??梢源蟠蠊澥r間,
6、從而更好的計算出結果,對找路徑也有了另一種視野。附錄(C/C+源代碼)#include<stdio.h>#include<stdlib.h>#include<math.h>#include<time.h>#define max_num 100int amax_num+10max_num+10;void maxsum(int (*a)max_num+10,int n)int i,j,max,t;int bn;FILE *fp1;for(i=n-1;i>=1;i-)/從倒數第二層向上求最大和for(j=1;j<=i;j+)if(aij+a
7、i+1j)<(aij+ai+1j+1)aij=(aij+ai+1j+1);elseaij=(aij+ai+1j);if(a21<a22)/由最大和找第二層的路徑t=2;max=a22;b1=a11-a22;elset=1;max=a21;b1=a11-a21;for(i=3;i<=n;i+)從第三層開始找最大和的路徑知道第n層if(ait<ait+1)t=t+1;bi-1=max-ait;max=ait;elsebi-1=max-ait;max=ait;bn=ait;printf("路徑:n");for(i=1;i<=n;i+)printf(&
8、quot;%d ",bi);fp1=fopen("output.txt","wt"); if(fp1=NULL) printf("cannot open!"); exit(0); fprintf(fp1,"%d",a11);printf("noutput.txt:n");fp1=fopen("output.txt","r"); if(fp1=NULL) printf("cannot open!"); exit(0); / fo
9、r(i=0;!feof(fp1);i+)/printf("");fscanf(fp1,"%d",&a11);printf("%dn",a11);main()int i,j;int n;FILE *fp;printf("input.txt:n");fp=fopen("input.txt","r");if(fp=NULL)printf("cannot open!");exit(0);fscanf(fp,"%d",&n);printf("%dn",n);for(i=1;i<=n;i+)/輸出成到三角形式for(j=1;j<=i;j+) f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教精通版六年級下冊Lesson 2教案設計
- 財務制度內部培訓
- 七年級語文下冊 第四單元 16 短文兩篇教學設計 新人教版
- 人教版分與合教案
- 初中信息技術滇人版(2016)八年級上冊第4課 網絡與生活教學設計及反思
- 電梯培訓學員指南
- 九年級語文上冊 第四單元 15我的叔叔于勒教學設計 新人教版
- 2024中國聯通校園招聘新苗(2151個)崗位已出筆試參考題庫附帶答案詳解
- 高鐵站消防安全知識培訓
- 奧秘課堂管理員工培訓
- 2024養雞場雞糞買賣合同范本
- 燃煤發電廠液氨罐區安全管理規定
- 蘇教版六年級下冊數學期末測試卷【完整版】
- 辦公耗材采購服務方案(技術方案)
- DZ∕T 0153-2014 物化探工程測量規范(正式版)
- 【課件】家校共育、見證成長+課件+2023-2024學年高二下學期期中考試家長會
- ISO TR 15608-2017-中英文版完整
- 個人醫保代辦委托書
- 海南天之虹生物科技有限公司 年產36萬噸飼料廠加工項目 環評報告
- 對電梯維保工作總結
- 人教版美術六年級下冊全冊教學設計教案表格式
評論
0/150
提交評論