2023年课程实验报告.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2023年课程实验报告.docx》由会员分享,可在线阅读,更多相关《2023年课程实验报告.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验一 STL的熟悉与使用实验名称实验一 STL的熟悉与使用姓 名汪子成 系院专业信息工程系I ,计算机1 5-1班级加班学号实验日期指导教师徐本柱成绩一、实验目的和规定1.掌握C+中ST L的容器类的使用;2,掌握C+中STL的算法类的使用.二、实验预习内容L预习ICPC讲义,大体了解STL的相关内容。2 .了解STL中一些类vectorlist类的使用方法3 .了解泛型算法的使用三、实验项目摘要(1)练习vector和lis t的使用。定义一个空的vector,元素类型为i n t性成1 0个随机数插入到v ector中,用迭代器遍历vector并输出其中的元素值。在v e ctor头部插
2、入一个随机数,用迭 代器遍历ve ctor并输出其中的元素值。用泛型算法find查找某个随机数,假如找到便输出, 否则将此数插入v e cto r尾部。用泛型算法sort将vector排序,用迭代器遍历vecto r并输出 其中的元素值。删除vec t o r尾部的元素,用迭代器遍历vector并输出其中的元素值。将 vector清空。定义一个list,并反复上述实验,并注意观测结果。(2 )练习泛型算法的使用。定义一个vector,元素类型为in t,插入10个随机数,使用sort按升序排 序,输出每个元素的值,再按降叙排序,输出每个元素的值。练习用find查找元素。用m i n和 max找
3、出容器中的最小元素和最大元素,并输出。00 J8 “ f (x-l=0)Q try i t (x-l,n x- 1 +l);。oelset r yit(O, 0 );00o oe 1 se“ry i t(x,y+l );)void o utputArray ( i nt h N) (。i nt i, j ;o f or(i=0; i=N l;i+)(“f o r( j =O;j11布局2布局33.骑士游历问题:#inc 1 ude i nt b o ard88 = 0 ;int t ravel( i nt x, int y)int k tm o v el 8 = -2, -1,1,2,2, 1
4、, 1, 2);intktmove2 8=1,2,2, 1,-1, - 2 ,-2,-1;i nt nexti 8 = 0;i n t nextj 8 =0;in t ex i sts8 = 0 ;int i, j, k , m, 1;i nt tmpi, tmpj;int c o unt, m i n, tm p ;i = x;j = y;f o r(m =2; m= 6 4 ; m+) for(l = 0 ; 1 8;1+ + ) e x ists 1 = 0;1 = 0;f or(k = 0; k 8; k+ + ) tmp i = i + k t m o vel k; tmpj = j
5、 + k tmove2k;i f (tmpi 0 | tmpj 7 | | tmpj 7)conti n ue;if(boa r d t mpitmpj = 0) ne x t i 1= tmpi;nex t j 1 = tmp j ;1+;) co u nt = 1 ; if(count = 0) return 0 ;else if(co u nt = 1) min = 0 ;)e 1 se for(l = 0 ;1 co u nt; 1+) for(k = 0 ; k 8; k+) tmpi = ne x ti 1 + ktm o velk; tmpj 二 next 1 + k t mov
6、e2 k ;i f (tmpi 0 I | t mpj 7 | tmp j 7) c o nti n u e ;)i f ( b o ardtm p itmpj = 0)e xi s ts 1 +;t mp = e xi s ts 0 ;mi n =0 ;for( 1 =1; 1 c o unt; 1 + +) i f( e xistsl t mp) tmp = e xi s t s 1;m i n = 1 ;i = nextimin;j = n e xtjmin; b o a rd ij = m;)r e turn 1 ;)i n t main ()(int st a r t x , sta
7、rty ;in t i,j;p rintf (输入起始点:);s c a n f(n% d %cT, &sta r t x , &starty);i f(tra v el(sta r tx, st a r t y ) pr i ntf (游历完毕!n );)else p r in t f (游历失败! nn);)for(i = 0; i 8; i + + ) for(j = 0 ;j boa r d i j);put c har( n );put c har( n );re t urn 0 ;33C:UsersVIC BOSSDocuments命名2.e阿1 4一 A Ttr ( ipi_i力
8、台1、 10 14/J 71乂6121284316197223441720294225242748411815238454025564730523926614649145796453505560313438516211363358136310375459123532Process exited after 99.97 seconds v/ith return ualue 0请按任意键继续. . . 实验三计算几何算法的实现实验名称实验二计算几何算法的实现姓 名汪子成系院专业信息工程系班计算机15 1级班学 号实验日期指导教师徐本柱成4*一、实验目的和规定1 .理解线段的性质、叉积和有向面积。2
9、 .掌握寻找凸包的算法。3 .综合运用计算几何和搜索中的知识求解有关问题。二、实验预习内容1 .预习ICPC讲义,大体了解计算几何算法的相关内容。2 .了解实现该算法的中一些使用方法。3 .会使用该算法解决实际问题。三、实验项目摘要1 .将讲义第三章第三节中的凸包代码上机运营并检查结果。2 .完毕讲义第三章的课后习题,上机运营并检查结果。3 .思考:判线段相交时,假如有个线段的端点在另一条线段上,注意也许与另一条线段上的 端点重合,思考这样的情况怎么办。4 .房间最短路问题:给顶一个内含阻碍墙的房间,求解出一条从起点到终点的最最短途径。房 间的边界固定在x=0, x=10,y=0和y=10。起
10、点和重点固定在(0,5)和(1 0, 5)。房间里尚 有0到18个墙,每个墙有两个门。输入给定的墙的个数,每个墙的x位置和两个门的y坐标 区间,输出最短路的长度。下图是个例子:四、实验结果与分析(源程序及相关说明)3 .思考:用跨立方法。线段相交满足且只需满足如下两个条件就可以了 :1两条线段互相跨立;2 条线段的一个端点在另一条线段上。假如两线段相交,则两线段必然互相跨立对方。若P lp2跨立p3P4 ,则矢量(pl -p3)和(p2-pl )位于矢量(p4 - p3 )的两侧,即(pl -P 3) X ( p4-p3)*(p2-p3 ) X ( p4 - p3 )0。当(p 1 -p3)
11、X (p4-p3 ) =0 时,说明(pl - p 3 )和(p4 - p3)共线,但是由 于已经通过快速排斥实验,所以P1 一定在线段p3p4上;同理,(p4 - p3 ) X (P2 - p3 ) = 0说明p2 一定在p3p4o所以判断p lp2跨立Q1Q2的依据是:(p 1 - p 3 ) X ( p4 - p3 ) *( p4 - p 3 ) X (p2 - p 3 ) = 0 o 同理 判断 Q1Q 2 跨立 PIP 2 的依据是:(p3 - p 1 ) X (p2 -pl ) *( p2-pl ) X ( p 4 - pl ) = 0 o代码中函数b ool s e g men
12、t_i n terse c t ()用于判断pl、p2构成的线 段和p 3、p4构成的线段是否相交。可以看出共五种情况两线段是相交的,反之就输出“The two are N o t i n t e rse c te d !4 .房间最短路问题:#include# i n cl u de# i n c 1 u de#in c 1 u d eusin g name s p a ce s td;typede f pai r POIN T ;doub 1 e direction (POINT p,POINT pl,POINT p2) POINT v 1 ,v2;v 1 .f i rst= p 2. f
13、 i r s t-pl.first;v 1. s eco n d=p 2 .second-pl.first;v 2 .first=pl. fi r st-p.firs t ;v 2 .second二p 1 .second- p . s e c on d ;return vl.f i r s t * v2.sec o n d - v 1. seco n d*v2.second; bo ol on_segmen t (POINT p, P OINT pl,POINT p2) doubl e min_x=pl. firstp2. f i r s t ?p 1 .fi r s t:p2. f irst
14、;d ou b le min_y = p 1 .second p 2. s e c ond? p 1 . secon d :p2.se c o nd;i f ( p . f irst =min x &p.firs t = min_y&p.sec o nd= m ax_y)return true;e Isereturn fals e ;P OIN T s t art Point;bo o 1 sortByPolor A n g le(con s t POINT & p 1, const POINT &p2)doub 1 e d= d i r ection(s t art P oint, pl,p
15、2);if (d0)r e t urn false;i f (d= = 0&o n_ s e g ment ( s tar t P o i n t,pl,p2) )r e t u r n tru e ;i f(d= =0&on_se g m e nt(p2, s tar t P oint,pl) r e turn tr u e ; r etu r n fals e ;)v o id fi n d c onv e x h u 1 l(vec t or& p oin t )POINT p 0 =poin t 0 ;int k = 0 ;for( i nt i =0;ipoint. siz e ()
16、; i +)(if( p o i n t i .seco n d p 0 .s e c ond|p o i nti.seco n d=p0.seco n d&p o i n ti. f i r stp 0 . f i r s t) pO = poi n t i ;k= i ; )p o i n t .e r as e (poi n t. b egi n ()+ k );po i nt.inse r t(po i nt.beg i n(), p 0);v e ctorco n vex hull;doc o n v ex_hul 1 . p u s h_ba c k(poin t 0);start
17、P o in t =point0;p o i n t . e rase ( p oin t . b egin();sor t ( p oint.be g in() , p oint.end (), s o rtB y Po 1 o r Angle);if(poin t 0 = =co n v e x _hull0 ) br e ak;poin t . p u sh_back ( c o n ve x h u 11 c onvexh u 11. s i z e()-l); while ( 1 );for(in t j= 0 ;jconve x h u 1 l.size(); j +)c o u
18、tc o nve x _hullj,first, c o nv e x_hullj,s e co n d e n dl; )i nt main () v e ct o r p v;d oub 1 e x,y;i nt i;coutvv”请输入 1 0 个点x,y: en d 1;f or(i=l;i x y;pv. p ush_ba c k(mak e p a ir(x,y);c ou t end 1 ; fin d convex_hull(p v ); system(f,P a useH);return 0 ;c:u请输入10个点No.l: 39 7No.2: 2 54No.3: 35 0N
19、o.4:2 8No.5: 3 8No.6:1 9No.7:22 11No.8:87 45No.9:2 99No.10:1 01 039 7请按任意键继续. .实验四 动态规划算法的实现实验名称实验四 动态规划算法的实现姓 名汪子成系院专业信息工程系班 级计算机15-1班学 号实验日期指导教师徐本柱成 绩一、实验目的和规定1 .理解动态规划的基本思想、动态规划算法的基本环节2 .掌握动态规划算法实际环节四、实验结果与分析(源程序及相关说明)1 .练习v ec t or和lis t的使用:#i n c 1 ude #incl ude #inc 1 ude#inclu d e #incl u de
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 课程 实验 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内