作业帮 > 综合 > 作业

麻烦帮我看看这个凸多边形最优三角剖分问题,出错了!

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/04 18:09:32
麻烦帮我看看这个凸多边形最优三角剖分问题,出错了!
#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
麻烦帮我看看这个凸多边形最优三角剖分问题,出错了!
        我理解楼主问是说程序运行起来输入最后一组坐标时程序异常.
        对此本人进行了实验:用codeblocks10.2编译这段代码,发现编译出错.原因在于 iostream.h 是C的头文件,而楼主用cin、cout明显是C++的代码.对此我将头文件改为 
#include <iostream>
并添加
using namespace std;
再将主函数main返回值修改为
int
并添加
return 0;
之后编译程序运行正常,并没有出现楼主所说的输入数据时程序异常的问题.
       敢问楼主是用什么编译器?使用其他编译器是否还会遇到“输入问题”?
       附实验运行截图如下:

图一 输入为4个点的情况


图二 输入为5个点的情况

再问: 我用的是Visual C++6.0编译器,结果运行还是不正确
再答:   1. 能不能把出错详情给一个截图?   2. 你贴的是你在VC6中的代码吗?   比如这样的语句:   -------------------------------------------------------------------- void point::minWeightTriangulation(int n,int t[][N],int s[][N]) //用动态规划计算最优值 { for(int i=1;i