用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形
答案:2 悬赏:0 手机版
解决时间 2021-03-02 12:01
- 提问者网友:我没有何以琛的痴心不悔
- 2021-03-02 02:27
用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形
最佳答案
- 五星知识达人网友:雾月
- 2021-03-02 02:54
.问题描述.输入N个点的坐标,判断这N个点能否构成一个凸多边形.2.问题分析. 根据2点确定一条直线的原理,即y-y1/x-x1=y2-y1/x2-x1;移向得x(y2-y1)+y(x1-x2)-x1y2+x2y1, 设t= x(y2-y1)+y(x1-x2)-x1y2+x2y1,假如可组成凸多边形,且假设两点是图多边形一边,则把其他N-2点带入, 得到的 t必均为正或均为负.由此可判断任意2点是否为凸多边形的一条边. 由任意点开始寻找能够与其组成边的点,若按顺序能够找到N点则其为凸多边形,反之则不能.3.设计思路.输入N个点,用二维数组存储这N个点, 定义real函数判断N个点是否能构成凸多边形,从第一个点开始能够找到N条满足函数tt的边则为图多边形.tt为判断2点能否够成图多边形边的函数.4.流程图.5.源程序.#include//#define N const int N=4;int tt(double p[][2],int a,int b) //a为下标,不能为float{ int temp[N],k=0; double t; for(int i=0;i0) temp[k++]=1; else temp[k++]=-1; } for(int j=1;j
全部回答
- 1楼网友:神的生死簿
- 2021-03-02 04:18
这个问题的回答的对
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯