1

プログラムをコンパイルすると、数式が実行されないようです。何が間違っているのか理解できません。助けていただければ幸いです。

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;
 }
4

6 に答える 6

2

Change distance, Xvalue and Yvalue to doubles

于 2013-01-23T01:53:30.983 に答える
1

私はこれがあなたの問題の一部であるかもしれないとかなり確信しています:

Xvalue = (x1 - x2);
Yvalue = (y1 - y1);

おそらく次のようになります。

Xvalue = (x1 - x2);
Yvalue = (y1 - y2);
于 2013-01-23T01:37:41.700 に答える
1

二重変数の差はaである可能性がdoubleあり、Yvalue常にを計算しzeroます。

実際、あなたの公式自体は間違っています。

Distance Formula: Given the two points (x1, y1) and (x2, y2), 

これらのポイント間の距離は、次の式で与えられます。

d = sqrt((x2-x1)^2 + (y2-y1)^2)

uは、差の2乗を加算するのではなく減算していることに注意してください。

double x1,y1,x2,y2,distance, Xvalue, Yvalue;
Xvalue = (x1 - x2);
Yvalue = (y1 - y2);
distance = sqrt(Xvalue * Xvalue + Yvalue * Yvalue);
于 2013-01-23T01:38:17.777 に答える
0

first cout input values so you can be sure if the problem is not in the input

cout<<x1<<endl;
cout<<x2<<endl;
cout<<y1<<endl;
cout<<y2<<endl;

then you are trying to cout... cout!

cout<<"this is the"<< distance << cout ... // cout again, is not very good!

try

cout<< "this is the"<< distance <<endl;
cout << endl << endl;

and anyway.. unless you need those "int" for specific reason is better to have doubles. (you can still round down them later with "floor(value)")

于 2013-01-23T01:54:11.153 に答える