Зная декартовы координаты вершин выпуклого четырехугольника, вычислить его площадь
Категория: C/C++
2011-12-05 14:05:20
code: #cpp
#include <iostream> #include <math.h> using namespace std; typedef double D; D line(D, D, D, D); D geron(D, D, D, D, D, D); int main() { D x1, y1, x2, y2, x3, y3, x4, y4, s; cout<<"\nx1= "; cin>>x1; cout<<"y1= "; cin>>y1; cout<<"\nx2= "; cin>>x2; cout<<"y2= "; cin>>y2; cout<<"\nx3= "; cin>>x3; cout<<"y3= "; cin>>y3; cout<<"\nx4= "; cin>>x4; cout<<"y4= "; cin>>y4; s=geron(x1, y1, x2, y2, x3, y3) + geron(x1, y1, x3, y3, x4, y4); cout<<"\n Площадь четырёхугольника= "<<s<<endl; return 0; } D line(D a, D b, D c, D d) { return sqrt((a-c)*(a-c)+(b-d)*(b-d)); } D geron(D a1, D a2, D b1, D b2, D c1, D c2) { D p, ab, bc, ca; ab=line(a1, a2, b1, b2); bc=line(b1, b2, c1, c2); ca=line(c1, c2, a1, a2); p=(ab+bc+ca)/2; return sqrt(p*(p-ab)*(p-bc)*(p-ca)); }
Поделиться: