两点距离的解决方案是什么?

时间:2015-03-07 17:35:55

标签: c++

问题在于计算两点之间的距离,当我运行程序时,我收到此错误消息:

  

运行时检查失败#3 - 正在使用变量y2而未初始化。

代码:

#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int main()
{
  double x1,y1,x2,y2;
  cin >> x1,y1;
  cin >> x2,y2;
  cout << fixed << setprecision(4) << pow((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1),0.5); 

  return 0;
};

2 个答案:

答案 0 :(得分:3)

更改

cin>>x1,y1; cin>>x2,y2;

cin >> x1 >> y1 >> x2 >> y2;

正如@CaptainObvlious所说:

  

,运算符不会在此上下文中执行您的操作。

cincout支持链接(您可以使用>>为{{1}扩展语句,使用单个语句输入多个变量} {},cin <<}。

答案 1 :(得分:0)

这应该有效:

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;

int main() {
  double coords[4];
  int coordsCounter = 0;

  while (coordsCounter < 4) {
    cin >> coords[coordsCounter]; //here you must filter the input
    coordsCounter++;
  }

  cout << fixed << setprecision(4) << pow(pow((coords[2] - coords[0]), 2) + pow((coords[3] - coords[1]), 2), 0.5);

  return 0;
}