求平面坐标系中简单四边形ABCD的面积。简单四边形是指边仅仅在顶点处相交。 输入格式: 依次给出4个顶点A、B、C、D的整数坐标,题目保证所有坐标的绝对值<10000。 输出格式: 输出四边形的面积(保留1位小数),题目。编写c++代码向量法解决
时间: 2024-03-10 18:45:56 浏览: 22
好的,那么根据你的要求,这里给出使用向量法解决该问题的 C++ 代码:
```C++
#include <iostream>
#include <cmath>
using namespace std;
struct Vector { // 定义向量结构体
double x, y;
Vector() {}
Vector(double x, double y) : x(x), y(y) {}
double operator * (const Vector &a) const { // 向量的点积
return x * a.y - y * a.x;
}
};
int main() {
int Ax, Ay, Bx, By, Cx, Cy, Dx, Dy; // 四个点的坐标
Vector AB, BC, CD, DA; // 四个向量
double s; // 四边形的面积
// 输入四个点的坐标
cin >> Ax >> Ay >> Bx >> By >> Cx >> Cy >> Dx >> Dy;
// 计算四个向量
AB = Vector(Bx - Ax, By - Ay);
BC = Vector(Cx - Bx, Cy - By);
CD = Vector(Dx - Cx, Dy - Cy);
DA = Vector(Ax - Dx, Ay - Dy);
// 计算四边形的面积
s = abs(AB * BC + BC * CD + CD * DA + DA * AB) / 2.0;
// 输出结果
printf("%.1f", s);
return 0;
}
```
希望能够解决你的问题!如果还有其他问题,请继续提问。
相关推荐
![vi](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)