我正在尝试使用(X,Y)形式的XY点数组中的三个XY点找到最大面积。
我目前在called object type 'double' is not a function or function pointer
调用 area 函数时遇到错误,我不知道为什么。另外,我不知道这个功能是否接近正确,我现在只是在胡闹。谢谢您的帮助!
double area( const Point & a, const Point & b, const Point & c){
double side1 = a.distance(b);
double side2 = b.distance(c);
double side3 = c.distance(a);
double s = (side1 + side2 + side3 / 2.0);
return sqrt(s * (s - side1) * (s - side2) * (s - side3));
}
double maxArea( const Point a[], unsigned elements ){
double area = 0;
double tempArea = 0;
for (unsigned i = 0 ; i < elements; i++)
for (unsigned n = 0; n < elements; n++)
for (unsigned p = 0; p < elements; p++) {
tempArea = area(a[i],a[n],a[p]); //error here
if(tempArea > area){
area = tempArea;
}
}
return area;
}