Найти периметр треугольника, заданного координатами вершин, расчёт длины стороны выполнить функцией - C (СИ)
Формулировка задачи:
Найти периметр треугольника, заданного координатами вершин. Расчёт длины стороны выполнить функцией.
Сделайте пожалуйста
Решение задачи: «Найти периметр треугольника, заданного координатами вершин, расчёт длины стороны выполнить функцией»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
double side(double x1,double y1,double x2,double y2)
{
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main()
{
double x1,x2,x3,y1,y2,y3;
double a,b,c;
printf("Enter x1,y1: ");
scanf("%lf,%lf",&x1,&y1);
printf("Enter x2,y2: ");
scanf("%lf,%lf",&x2,&y2);
printf("Enter x3,y3: ");
scanf("%lf,%lf",&x3,&y3);
a=side(x1,y1,x2,y2);
b=side(x1,y1,x3,y3);
c=side(x2,y2,y2,y3);
if( (a>b+c)&& (b>c+a) && (c>b+a) && a>0 && b>0 && c>0) //
printf("\nP=%.3lf",a+b+c);
else
printf("err");
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с математическими функциями и вводом/выводом данных
- Определяем функцию
side, которая вычисляет длину стороны треугольника по координатам вершин - В функции
mainобъявляем переменные для ввода координат вершин треугольника и длины его сторон - Запрашиваем у пользователя ввод координат вершин треугольника
- Вызываем функцию
sideдля вычисления длин сторон треугольника, используя введенные координаты вершин - Проверяем выполняется ли условие принадлежности треугольника к вычислимой области (определяется по неравенству Герона)
- Если условие выполняется, выводим периметр треугольника, суммируя длины его сторон
- Если условие не выполняется, выводим сообщение об ошибке
- Возвращаем 0, чтобы операционная система знала, что программа успешно завершилась