麻烦帮我看看这个凸多边形最优三角剖分问题,出错了!#include#include#define N 30typedef struct //定义点的结构体{float x,y;}Point;class point{private:Point *v;public:float distance(Point i,Point j); //计算两点的距离flo
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 23:27:09
麻烦帮我看看这个凸多边形最优三角剖分问题,出错了!#include#include#define N 30typedef struct //定义点的结构体{float x,y;}Point;class point{private:Point *v;public:float distance(Point i,Point j); //计算两点的距离flo
麻烦帮我看看这个凸多边形最优三角剖分问题,出错了!
#include
#include
#define N 30
typedef struct //定义点的结构体
{
float x,y;
}Point;
class point
{
private:
Point *v;
public:
float distance(Point i,Point j); //计算两点的距离
float w(Point i,Point j,Point k); //计算三条边的长度之和
void minWeightTriangulation(int n,int t[][N],int s[][N]); //用动态规划计算最优值
void print(int s[][N],int i,int j); //输出
};
float point::distance(Point i,Point j)
{
int s=(i.x-j.x)*(i.x-j.x)+(i.y-i.y)*(i.y-i.y);
return sqrt(s);
}
float point::w(Point i,Point j,Point k)
{
return distance(i,j)+distance(j,k)+distance(i,k);
}
void point::minWeightTriangulation(int n,int t[][N],int s[][N]) //用动态规划计算最优值
{
for(int i=1;i
麻烦帮我看看这个凸多边形最优三角剖分问题,出错了!#include#include#define N 30typedef struct //定义点的结构体{float x,y;}Point;class point{private:Point *v;public:float distance(Point i,Point j); //计算两点的距离flo
我理解楼主问是说程序运行起来输入最后一组坐标时程序异常.
对此本人进行了实验:用codeblocks10.2编译这段代码,发现编译出错.原因在于 iostream.h 是C的头文件,而楼主用cin、cout明显是C++的代码.对此我将头文件改为
#include <iostream>
并添加
using namespace std;
再将主函数main返回值修改为
int
并添加
return 0;
之后编译程序运行正常,并没有出现楼主所说的输入数据时程序异常的问题.
敢问楼主是用什么编译器?使用其他编译器是否还会遇到“输入问题”?
附实验运行截图如下:
图一 输入为4个点的情况
图二 输入为5个点的情况