課程試驗報告_第1頁
課程試驗報告_第2頁
課程試驗報告_第3頁
課程試驗報告_第4頁
課程試驗報告_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——課程試驗報告課程試驗報告

程序設計藝術與方法

課程試驗報告

學號:2023217155姓名:周旋2023.10.10

1

課程試驗報告試驗一STL的熟悉與使用

試驗名稱姓名試驗日期周旋系院專業(yè)試驗一STL的熟悉與使用信息工程系指導教師班級計算機14-4班徐本柱學號成績2023217155一、試驗目的和要求1.把握C++中STL的容器類的使用;2.把握C++中STL的算法類的使用.二、試驗預習內(nèi)容1.預習ICPC講義,大致了解STL的相關內(nèi)容。2.了解STL中一些類vectorlist類的使用方法3.了解泛型算法的使用三、試驗項目摘要1.練習vector和list的使用2.練習泛型算法的使用四、試驗結果與分析(源程序及相關說明)以下程序?qū)崿F(xiàn)了下述幾個功能:1.定義一個vector,生成十個隨機數(shù)插入到vector中。2.屢屢使用迭代器iterator遍歷vector,輸出完成不同功能的vector元素。3.使用泛型算法find查找vector中的隨機數(shù),假使找到輸出該隨機數(shù),假使沒找到將該隨機數(shù)插入到vector中。4.使用泛型算法sort對vector中的元素進行升序與降序排列,使用迭代器iterator輸出。5.使用min,max算法求出vector中的最小值與最大值。6.刪除vector中的尾部元素以及全部元素,輸出vector的大小。(注:源代碼見下頁)

2

課程試驗報告

#include#include#include#includeusingnamespacestd;vectorvint;intmain(){inti;for(i=0;i::iteratorpit1;for(pit1=vint.begin();pit1!=vint.end();pit1++){cout::iteratorpit2;pit2=find(vint.begin(),vint.end(),temp);if(pit2!=vint.end()){cout::iteratorpit3;sort(vint.begin(),vint.end());for(pit3=vint.begin();pit3!=vint.end();pit3++){

3

課程試驗報告

cout::iteratorpit4;sort(vint.rbegin(),vint.rend());for(pit4=vint.begin();pit4!=vint.end();pit4++){cout課程試驗報告

四、試驗結果與分析(源程序及相關說明)以下僅列出八皇后問題的源代碼:#include#includeusingnamespacestd;intsum=0;intupperlimit=1;voidcompare(introw,intld,intrd){if(row!=upperlimit){intpos=upperlimitwhile(pos!=0){intp=pospos-=p;compare(row+p,(ld+p)>1);}}else{sum++;}}intmain(){intn;cout>n;upperlimit=(upperlimit#include#include#includeusingnamespacestd;typedefpairPOINT;doubledirection(POINTp,POINTp1,POINTp2){POINTv1,v2;v1.first=p2.first-p1.first;v1.second=p2.second-p1.second;v2.first=p1.first-p.first;v2.second=p1.second-p.second;return(v1.first*v2.second-v1.second*v2.second);}boolon_segment(POINTp,POINTp1,POINTp2){doublemin_x=p1.firstp2.first?p1.first:p2.first;doublemin_y=p1.secondp2.second?p1.second:p2.second;if(p.first>=min_xelsereturnfalse;}POINTstartPoint;boolsortByPolorAngle(constPOINTif(d0)returnfalse;if(d==0if(d==0returnfalse;

8

課程試驗報告

}voidfind_convex_hull(vectorintk=0;for(inti=0;iconvex_hull;do{convex_hull.push_back(point[0]);startPoint=point[0];point.erase(point.begin());sort(point.begin(),point.end(),sortByPolorAngle);if(point[0]==convex_hull[0])break;point.push_back(convex_hull[convex_hull.size()-1]);}while(1);for(intj=0;j:\for(i=1;i>x>>y;pv.push_back(make_pair(x,y));}cout課程試驗報告

試驗四動態(tài)規(guī)劃算法的實現(xiàn)

試驗名稱姓名試驗日期一、試驗目的和要求周旋試驗四動態(tài)規(guī)劃算法的實現(xiàn)系院專業(yè)信息工程系班級計算機14-4班學號2023217155指導教師徐本柱成績1.理解動態(tài)規(guī)劃的基本思想、動態(tài)規(guī)劃算法的基本步驟2.把握動態(tài)規(guī)劃算法實際步驟二、試驗預習內(nèi)容1.動態(tài)規(guī)劃算法的基本要素2.最長公共子序列3.矩陣連乘問題三、試驗項目摘要1.求兩個字符串的最長公共子序列。-151-X的一個子序列是相應于X下標序列{1,2,…,m}的一個子序列,求解兩個序列的所有子序列中長度最大的,例如輸入:pear,peach輸出:pea。2.給定兩個字符串a(chǎn)和b,現(xiàn)將串a(chǎn)通過變換變?yōu)榇産,可用的操作為,刪除串a(chǎn)中的一個字符;在串a(chǎn)的某個位置插入一個元素;將串a(chǎn)中的某個字母換為另一個字母。對于任意的串a(chǎn)和串b,輸出最少多少次能夠?qū)⒋優(yōu)榇産。3.輸入一個矩陣,計算所有的子矩陣中和的最大值。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論