Объявите и определите функцию Distance() для нахождения евклидова расстояния между двумя точками (x[0], y[0]) и (x[1], y[1]) в c

Объявите и определите функцию Distance() для нахождения евклидова расстояния: √((x1 - x2)² + (y1 - y2)²) между двумя точками (x[0], y[0]) и (x[1 ], y[1]) Эта функция должна просто вычислить и вернуть ответ.

ПРОГРАММА С -----

двойное расстояние (двойное x[], двойное y[]) ;

Что мне еще поставить. Включаю ли я экулидово расстояние в эту функцию или создаю новую?


person Megan    schedule 31.10.2014    source источник


Ответы (2)


double distance(double x[], double y[]);

это объявление функции.

double distance(double x[], double y[]) {
    //Write code here that returns a double
}

является определением функции.

Похоже, проблема хочет, чтобы вы сделали и то, и другое.

person musical_coder    schedule 31.10.2014
comment
Как включить формулу евклидова расстояния Distance = sqrt(pow(x[0] + x[1], 2) + pow(y[0]-y[1]2); - person Megan; 31.10.2014
comment
Сначала вам нужно попытаться написать код самостоятельно. После этого, если у вас возникнут какие-либо проблемы, опубликуйте новый вопрос, который включает в себя написанный вами код, строки, в которых возникают проблемы, и конкретные проблемы. Не прикрепляйте его к этому сообщению, так как нам нравится оставлять один вопрос в сообщении. - person musical_coder; 31.10.2014
comment
НЕТ -- не публиковать новый вопрос. Лучше просто отредактируйте этот вопрос и добавьте новую информацию в качестве дополнения к оригиналу. После того, как вы напишете код, скомпилируйте его. Вам нужно будет включить математическую библиотеку -lm в команду gcc. (т.е. gcc -Wall -Wextra -o myprogram myprogram.c -lm) - person David C. Rankin; 31.10.2014

Это простейшее определение функции Distance():

`double distance(double x, double y){
    return 1/sqrt(((x[0]-x[1])*(x[0]-x[1])+(y[0]-y[1])*(y[0]-y[1])));
}`

Обратите внимание, что если вы используете его для сравнения расстояний, быстрее всего будет использовать квадрат расстояний.

person Pol    schedule 26.08.2015