Функция вычисления расстояния между двумя точками - C (СИ)
Формулировка задачи:
Написать функцию вычисления евклидового расстояния между двумя точками на плоскости.
Решение задачи: «Функция вычисления расстояния между двумя точками»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
float dist(int ax,int ay, int bx, int by);
int main()
{
setlocale(LC_CTYPE,"rus");
int ax,ay,bx,by;
printf("Введите координаты первой точки:\n");
scanf("%d %d",&ax,&ay);
printf("Введите координаты второй точки:\n");
scanf("%d %d",&bx,&by);
printf("расстояние между точками равно %.2f:\n", dist(ax,ay,bx,by));
return 0;
}
float dist(int ax,int ay, int bx, int by)
{
float x;
x=sqrt(ax*ax-2*ax*bx+bx*bx+ay*ay-2*ay*by+by*by);
return x;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с математикой, вводом/выводом и настройкой локали.
- Определяем функцию
dist, которая будет вычислять расстояние между двумя точками. - В функции
mainс помощьюsetlocaleустанавливаем русскую локаль. - Задаём переменным
ax,ay,bxиbyтип данныхintи с помощьюscanfсчитываем координаты двух точек. - Вызываем функцию
distи передаем ей в качестве аргументов значения переменныхax,ay,bxиby. - Выводим результат вычисления на экран с помощью
printf. - Возвращаем 0 из функции
main, чтобы указать на успешный конец работы программы. - В функции
distсоздаём переменнуюxтипаfloat. - Вычисляем значение
xс помощью формулы расстояния между двумя точками в декартовой системе координат. - Возвращаем значение переменной
xиз функцииdist.