Определить, является ли треугольник равносторонним - C (СИ)
Формулировка задачи:
Истина или ложь
треугольник с вернинами А(х1, у1), В(х2, у2), С(х3, у3) является равносторонним
Решение задачи: «Определить, является ли треугольник равносторонним»
textual
Листинг программы
#include<stdio.h>
#include<conio.h>
#include<math.h.>
#define EPSILON 0.000001
int main(void)
{
double Ax,Ay,Bx,By,Cx,Cy; //координаты вершин a,b,c
double a,b,c; //длины сторон треугольника
printf("%s \n","Enter the first vertex:");
scanf("%f%f",&Ax,&Ay);
printf("%s \n","Enter the second vertex:");
scanf("%f%f",&Bx,&By);
printf("%s \n","Enter the third vertex:");
scanf("%f%f",&Cx,&Cy);
a=sqrt((By-Ay)*(By-Ay)+(Bx-Ax)*(Bx-Ax));
b=sqrt((By-Cy)*(By-Cy)+(Bx-Cx)*(Bx-Cx));
c=sqrt((Cy-Ay)*(Cy-Ay)+(Cx-Ax)*(Cx-Ax));
if((abs(a-b)<EPSILON)&&(abs(a-c)<EPSILON)) printf("%s \n","Triangle is equilateral.");
else printf("%s \n","Triangle is not equilateral.");
getch();
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек
- Определение константы EPSILON для проверки равенства длин сторон
- Ввод координат вершин треугольника с помощью функции scanf
- Вычисление длин сторон треугольника с помощью формулы расстояния между двумя точками в декартовой системе координат
- Проверка равенства длин сторон треугольника с помощью условного оператора if
- Вывод соответствующего сообщения о типе треугольника (равносторонний или нет)
- Завершение работы программы с помощью функции getch
- Возврат значения 0, означающего успешный конец работы программы