点在多边形问题程序报告Word格式文档下载.doc
- 文档编号:14626463
- 上传时间:2022-10-23
- 格式:DOC
- 页数:4
- 大小:100.50KB
点在多边形问题程序报告Word格式文档下载.doc
《点在多边形问题程序报告Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《点在多边形问题程序报告Word格式文档下载.doc(4页珍藏版)》请在冰豆网上搜索。
一点坐标
if(t==0)return0:
定义0
if(t>
0)temp[k++]=1:
定义1
temp[k++]=-1:
定义-1
4.处理结构的设计
输入点P(X,Y)
以P为起点作任意射线L
算L与线段AB,BC,CD,……,KA相交的次数
线段关于P是逆时针的算+1,顺时针的算-1,不相交的算0
加起來不等于0的就是在多边形內
5.源程序
#include<
iostream.h>
constintN=4;
inttt(doublep[][2],inta,intb)
{
inttemp[N],k=0;
doublet;
for(inti=0;
i<
N;
i++)
{if(i==a||i==b)
{continue;
}
t=p[i][0]*(p[b][1]-p[a][1])+(p[a][0]-p[b][0])*p[i][1]-p[a][0]*p[b][1]+p[b][0]*p[a][1];
if(t==0)return0;
elseif(t>
0)temp[k++]=1;
elsetemp[k++]=-1;
for(intj=1;
j<
k;
j++)
{if(temp[0]!
=temp[j])return0;
return1;
intreal(doublep[][2])
{intflag[N],m=0;
for(inti=0;
i++){flag[i]=0;
for(i=0;
{for(intj=1;
{if(flag[j])continue;
if(tt(p,m,j))
{flag[m]=1;
m=j;
break;
}}}
flag[m]=1;
for(i=0;
{if(flag[i]==0)return0;
if(tt(p,0,m))return1;
return0;
voidmain()
{doublep[N][2];
charch='
y'
;
while(ch=='
||ch=='
Y'
)
{cout<
<
"
请输入点的坐标:
endl;
下一个点坐标:
cin>
>
p[i][0]>
p[i][1];
cout<
p[i][0]<
"
p[i][1]<
if(real(p))cout<
能构成"
elsecout<
不能构成"
endl<
是否继续判断?
(继续请输入y&
Y)"
ch;
}}
6.调试记录
八,课程设计总结:
在调试程序的过程中,我明白程序不是写出来的,而是调出来的,这次的设计课是人生一次真正的自己动手的程序设计!
自己发现问题、解决问题,其中不仅对C和C++的操作有了进一步的掌握,还了解到了程序设计的书写风格及其注释的格式。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多边形 问题 程序 报告