编程根据五边形五个顶点的坐标计算五边形面积

来源:百度知道 编辑:UC知道 时间:2024/06/14 06:55:05
用C++做

#include<iostream>
#include <vector>
#include "math.h"
using namespace std;
typedef vector<double>::iterator iter;
double length(iter &iterFir,iter &iterSec)
{
return sqrt(pow(*iterSec-*iterFir,2)+pow(*(iterSec+1)-*(iterFir+1),2));
};
double compute(iter &iterFir,iter &iterSec,iter &iterThi)
{
double a,b,c,d;
a=length(iterFir,iterSec);
b=length(iterSec,iterThi);
c=length(iterThi,iterFir);
if(a+b>c&&a+c>b&&b+c>a)
{
d=(pow(a,2)+pow(c,2)-pow(b,2))/(2*a*c);
d=sqrt(1-pow(d,2));
return (0.5*a*c*d);
}
else
{
cerr<<"the data is wrong!";
return 0;
};
};
int main()
{
cout<<"请按照顺时间次序输入X,Y: "<<endl;
double xpos,ypos,S(0),ret(0);
vector<double>vecFir;
while (cin>>xpos>>ypos)
{
vecFir.push_back(xpos);
v