Я не понимаю, что не так в этом коде? - PullRequest
0 голосов
/ 25 апреля 2019

У меня проблема с этим кодом. Когда я пишу координаты, такие как (1,1) и (1,20), это дает мне неправильный ответ, например -1.IND00. Что не так с этим кодом, вот моя проблема:

б. Напишите программу на C, которая позволяет вводить любые две точки в декартовой системе координат, а также вычисляет и отображает расстояние между ними. Чтобы рассчитать расстояние, напишите функцию с именем distanceBetweenTwoPoints или DBTwoPoints, которая принимает координаты с плавающей запятой двух точек (x1, y1) и (x2, y2) и вычисляет расстояние d между этими двумя точками, которое будет возвращено вызывающей функции. (10 баллов) Подсказка: расстояние между двумя точками определяется как

float distance(int x1,int y1,int x2,int y2){
float result;
result=sqrt((pow((x2-x1),2))-(pow((y2-y1),2)));
return result;

}
int main () {

int x1,y1,x2,y2;

printf("enter your x1,y1");
scanf("%d%d",&x1,&y1);
printf("enter your x2,y2");
scanf("%d%d",&x2,&y2);

printf("result is %f",distance(x1,y1,x2,y2));

return 0;
}


1 Ответ

1 голос
/ 25 апреля 2019

Полагаю, это связано с вычитанием в декартовых вычислениях.

Это должно быть добавление (представьте, что это теорема Пифагора):

result=sqrt((pow((x2-x1),2))+(pow((y2-y1),2)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...