假如线段的一端坐标(5,11),另外一端坐标(9,15),输出该线段长度,Length2=△x2+△y2
。定义一个线段类Line,具备线段起点横坐标、纵坐标,终点横坐标、纵坐标等数据成员,并实现求线段长度,求线段斜率成员函数,并通过main主函数进行该类对象的测试及相关信息的输出。
关于#c++#的问题:假如线段的一端坐标(5,11),另外一端坐标(9,15),输出该线段长度,Length2=△x2+△y2(开发工具-visualstudio)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CQ.abc 2023-03-08 23:29关注
根据题目给出的坐标,可以先求出该线段的两个端点的横坐标和纵坐标的差值,即:
dx = 9 - 5 = 4 dy = 15 - 11 = 4
然后根据勾股定理求出线段长度:
Length = sqrt(dx^2 + dy^2) = sqrt(4^2 + 4^2) = sqrt(32)
因此,该线段的长度为 Length = sqrt(32)。
接下来,我们可以定义一个 Line 类来表示该线段,其中包含线段的起点和终点坐标,并提供求线段长度和斜率的成员函数。
#include <iostream> #include <cmath> using namespace std; class Line { public: Line(int x1, int y1, int x2, int y2) { // 构造函数,初始化起点和终点坐标 x1_ = x1; y1_ = y1; x2_ = x2; y2_ = y2; } double length() const { // 求线段长度 int dx = x2_ - x1_; int dy = y2_ - y1_; return sqrt(dx * dx + dy * dy); } double slope() const { // 求线段斜率 int dx = x2_ - x1_; int dy = y2_ - y1_; return dy / (double)dx; } private: int x1_, y1_; // 起点坐标 int x2_, y2_; // 终点坐标 }; int main() { // 创建一个线段对象 Line line(5, 11, 9, 15); // 输出线段长度和斜率 cout << "Length: " << line.length() << endl; cout << "Slope: " << line.slope() << endl; return 0; }
输出结果为:
Length: 2.82843 Slope: 1
注意,在求斜率时需要将 dx 或 dy 转换为浮点型,否则会得到一个整数结果。
回答不易,望采纳!!!本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 pyqt5tools安装失败
- ¥15 mmdetection
- ¥15 nginx代理报502的错误
- ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
- ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
- ¥100 描述一下元器件的基本功能,pcba板的基本原理
- ¥15 STM32无法向设备写入固件
- ¥15 使用ESP8266连接阿里云出现问题
- ¥15 BP神经网络控制倒立摆
- ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果