请使用C++完成上述要求
时间: 2024-03-13 22:42:19 浏览: 17
好的,以下是使用 C++ 编写的计算任意图形面积的程序示例:
```cpp
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
double calculate_area(vector<pair<double, double>> vertices) {
int n = vertices.size();
double area = 0.0;
int j = n - 1;
for (int i = 0; i < n; i++) {
area += (vertices[j].first + vertices[i].first) * (vertices[j].second - vertices[i].second);
j = i;
}
return abs(area / 2.0);
}
int main() {
vector<pair<double, double>> vertices {{0, 0}, {1, 0}, {1, 1}, {0, 1}};
double area = calculate_area(vertices);
cout << "矩形的面积为:" << area << endl;
vertices = {{0, 0}, {1, 0}, {0.5, sqrt(3)/2}};
area = calculate_area(vertices);
cout << "三角形的面积为:" << area << endl;
vertices = {{0, 0}, {2, 0}, {2, 2}, {0, 2}};
area = calculate_area(vertices);
cout << "正方形的面积为:" << area << endl;
return 0;
}
```
在上述代码中,我们首先定义了一个 `calculate_area` 函数,该函数接收一个顶点列表 `vertices` 作为输入,并返回该图形的面积。然后我们在 `main` 函数中示范了如何通过该函数计算矩形、三角形和正方形的面积。在实现时,我们使用了叉积的方法来计算多边形面积,具体细节可以参考相关资料。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)
![](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)