在C++输入3个不同线的点坐标x1,y1,x2,y2,x3,y3,求围成的三角形的周长和面积
时间: 2023-05-11 19:02:55 浏览: 174
好的,根据输入的三个点坐标,可以使用海伦公式来计算三角形的周长和面积。具体计算方法如下:
首先,计算三边的长度:
a = sqrt((x2-x1)^2 + (y2-y1)^2)
b = sqrt((x3-x2)^2 + (y3
相关问题
用C++输入3个不同线的点坐标x1,y1,x2,y2,x3,y3,求围成的三角形的周长和面积
好的,根据您提供的三个点的坐标,可以使用以下公式计算三角形的周长和面积:
周长 = 边1长度 + 边2长度 + 边3长度
面积 = 0.5 * 底边长度 * 高
其中,边1、边2、边3分别为三角形的三条边,底边长度为任意两点之间的距离,高为从第三个点到底边的垂直距离。
以下是使用 C 语言实现的代码:
#include <stdio.h>
#include <math.h>
int main() {
double x1, y1, x2, y2, x3, y3;
double a, b, c, s, area, base, height;
printf("请输入三个点的坐标(x1, y1, x2, y2, x3, y3):\n");
scanf("%lf %lf %lf %lf %lf %lf", &x1, &y1, &x2, &y2, &x3, &y3);
// 计算三条边的长度
a = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));
b = sqrt(pow(x3 - x2, 2) + pow(y3 - y2, 2));
c = sqrt(pow(x1 - x3, 2) + pow(y1 - y3, 2));
// 计算周长
double perimeter = a + b + c;
printf("三角形的周长为:%.2lf\n", perimeter);
// 计算面积
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("三角形的面积为:%.2lf\n", area);
return 0;
}
希望这个代码可以帮助到您。
设计用于表示点、线和三角形的类: Point、 Line 和Triangle.要求如下: (1) Point类中包含两个用于表示点的X和Y坐标分量的公有数据成员,能够根据指定的X和Y坐标构建点对象。 (2) Line类中包含两个用于表示线段瑞点的私有对象成员,能够根据指定的两点构造线段对象(要求构造雨数的参数为常引用),具有计算线段长度的公有成员函数。 (3) Triangle类中包含三个用于表示三角顶点的私有对象成员,能够根据指定的三点构造三角形对象(要求构造函数的参数为常明用) .具有计算三角形周长和面积的公有成员函数。 在main函数中: 根据输入的三个点的坐标构建三角形对象。并输出的三角形的周长和面积。 输入 依次输入三个点的坐标:x1, y1, x2, y2, x3, y3 输出 输出三个点所构成的三角形的周K和面积
根据题目要求,可以设计如下的 Point、Line 和 Triangle 类:
```c++
#include <iostream>
#include <cmath>
using namespace std;
// 定义点类
class Point {
public:
Point(double x = 0, double y = 0) : x_(x), y_(y) {}
public:
double x_;
double y_;
};
// 定义线段类
class Line {
public:
Line(const Point& p1, const Point& p2) : p1_(p1), p2_(p2) {}
public:
double length() const {
double dx = p1_.x_ - p2_.x_;
double dy = p1_.y_ - p2_.y_;
return sqrt(dx * dx + dy * dy);
}
private:
Point p1_;
Point p2_;
};
// 定义三角形类
class Triangle {
public:
Triangle(const Point& p1, const Point& p2, const Point& p3) : p1_(p1), p2_(p2), p3_(p3) {}
public:
double perimeter() const {
double a = Line(p1_, p2_).length();
double b = Line(p2_, p3_).length();
double c = Line(p3_, p1_).length();
return a + b + c;
}
double area() const {
double a = Line(p1_, p2_).length();
double b = Line(p2_, p3_).length();
double c = Line(p3_, p1_).length();
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
private:
Point p1_;
Point p2_;
Point p3_;
};
int main() {
double x1, y1, x2, y2, x3, y3;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
Point p1(x1, y1);
Point p2(x2, y2);
Point p3(x3, y3);
Triangle tri(p1, p2, p3);
cout << "周长:" << tri.perimeter() << endl;
cout << "面积:" << tri.area() << endl;
return 0;
}
```
在 main 函数中,首先输入三个点的坐标,然后构造 Point 对象并传入 Triangle 的构造函数中,最后计算三角形的周长和面积并输出。
阅读全文