用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 01:11:01
用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形

用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形
用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形

用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形
.问题描述.
输入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

用C++编程输入N个点的坐标,判断这N个点能否构成一个凸多边形 编程 :输入n各点坐标,判断能否构成凸多边形 输入N个点的坐标,由程序判断该N个点是否能构成一个凸多边形.(VB)1 C语言编程:给定n个点的坐标,这n个点依次围成一闭合多边形,再给一点(x,y),判断它是否在多边形中. 速求 c语言编程 给定n个点的坐标,这n个点依次围成一闭合多边形,再给一点(x,y),判断它是否在多边形中 c语言 平面n个点坐标,计算各点间距离之和(struct coordinative)编程 输入平面上n(3 C语言交换元素编程输入n个整数(2 输入一个正整数n,再输入n个正整数,判断它们是否唯素数.素数就是只能被1和自身整除的正整数,1不是素数,2是素数是用c语言编程 输入一个正整数n,再输入任意n个整数,计算并输出这n个整数的和.要求使用动态内存分配方法为这n个整数分C语言编程题 编程题,输入n个整数,求这n个整数的最大数,最小数,和偶数平均数, VB编程,输入n个整数,求它们的最大公约数.注意:是n个整数 c语言数组编程,输入n个整数,将这n个数按绝对值由大到小排序输出 C语言编程的一个问题?输入n个整数,求出这n个数之中的偶数的平均值,并输出的注释 用QBASIC编程:输入正整数N,及N个正整数,计算并输出这N个正整数的最大公约数输入正整数N,及N个正整数,计算并输出这N个正整数的最大公约数得用高二的编程方法太难的我也看不懂啊 给定N个点的 坐标,判断这N个 点 一次 围成一 闭合多边形再给 一点(X Y),判断它是否在多边形中用C语言程序 会的 1.编程,先输入n,再输入n个实数并分别统计正数的和、负数的和,然后输出统计结果.(C语言) C语言:输入一个正整数n,再输入n个正整数,判断它们是否为素数. 编程C语言 输入n个学生成绩,计算他们的平均值并输出所有高于平均的学生成绩.