C++ Sqrt function
C++ Sqrt function
当我编译我的程序时,它似乎没有执行我的公式,我不知道我做错了什么,帮助将不胜感激
int main ()
{
int distance, Xvalue, Yvalue;
double x1,y1,x2,y2;
cout << "n Please enter X1 value: ";
cin >> x1;
cout << " Please enter X2 value: ";
cin >> x2;
cout << "n Please enter Y1 value: ";
cin >> y1;
cout << " Please enter Y2 value: ";
cin >> y2;
Xvalue = (x1 - x2);
Yvalue = (y1 - y2);
distance = sqrt(Xvalue * Xvalue + Yvalue * Yvalue);
cout << "This is the distance between the two points" <<distance<<
cout << endl << endl;
system ("pause");
return 0;
}
将距离、X值和Y值更改为双精度
我很
确定这可能是您问题的一部分:
Xvalue = (x1 - x2);
Yvalue = (y1 - y1);
它可能应该是:
Xvalue = (x1 - x2);
Yvalue = (y1 - y2);
双
精度变量的差值可能是一个double
,您的Yvalue
总是计算为zero
。
实际上,你的公式本身是错误的。
Distance Formula: Given the two points (x1, y1) and (x2, y2),
这些点之间的距离由以下公式给出:
d = sqrt((x2-x1)^2 + (y2-y1)^2)
请注意,您正在减去而不是添加差值的平方。
double x1,y1,x2,y2,distance, Xvalue, Yvalue;
Xvalue = (x1 - x2);
Yvalue = (y1 - y2);
distance = sqrt(Xvalue * Xvalue + Yvalue * Yvalue);
Distance = sqrt(pow((x2-x1),2)+pow((y2-y1),2));
第一个输入值,因此您可以确定问题是否不在输入中
cout<<x1<<endl;
cout<<x2<<endl;
cout<<y1<<endl;
cout<<y2<<endl;
然后你正在尝试...咔嚓!
cout<<"this is the"<< distance << cout ... // cout again, is not very good!
尝试
cout<< "this is the"<< distance <<endl;
cout << endl << endl;
无论如何..除非你出于特定原因需要那些"int",否则最好有双打。(您仍然可以稍后使用"floor(value)"将它们四舍五入)
include
包括
int main(void)
{ 浮点数 x1, x2, y1, y2, 距离;
printf("x 2 的值:");scanf("%f",&x2);
printf("x 1 的值:");scanf("%f",&x1);
printf("y2 的值:");scanf("%f",&y2);
printf("y1 的值:");scanf("%f",&y1);
距离 = sqrt(pow((x2-x1),2)+pow((y2-y1),2));printf("(X2,X1) 和 (Y2,Y1) 之间的距离是 %f", 距离);
返回 0;
}
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- 库函数需要一个 std::function<void(void)>,如何传入类函数?
- Confusion: decltype vs std::function
- 为什么 std::function 可以作为 std::not2 的参数?
- 'max'匹配'std::function<const int &(const int &, const int &)>'无过载
- 传递给std::function template的template参数究竟代表什么
- 求出有多少个数字是完美平方,而sqrt()是L,R范围内的素数
- 将带有unique_ptr的可变 lambda 传递给 const&std::function
- 绑定派生类方法C++从实例范围之外的分隔 std::function 变量调用
- "no matching function for call to 'Vector::Vector'"错误
- 如何在向量中删除 std::function<void()>?
- 不断"Attempting to reference a deleted function"
- 如果我重新定义 sqrt 函数,为什么使用 std::sqrt 失败?
- 将函数包装器转换为 std::function
- 类型擦除的std::function与虚拟函数调用的开销
- C++ std::function 对于类 exept 的所有实例都是空的(只有 Visual2019 编译器问题)
- 如果模板没有可变参数,则 Lambda 被推导出为 std::function
- sqrt function in C++
- C++ Sqrt function