Определить, лежит ли центр координат внутри треугольника - C (СИ)
Формулировка задачи:
Лежит ли центр координат внутри треугольника, координаты вершин которого (x1, y1), (x2, y2), (x3, y3) ?
Решение задачи: «Определить, лежит ли центр координат внутри треугольника»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
int main() {
int xt[3], yt[3], x, y;
printf("Enter coords of triangle tops: ");
for (int i = 0; i < 3; i++) {
printf("x%d = ", i+1); scanf("%d", &xt[i]);
printf("y%d = ", i+1); scanf("%d", &yt[i]);
}
if (((0 - xt[0]) * (yt[0] - yt[1]) - (0 - yt[0]) * (xt[0] - xt[1]) >= 0) &&
((0 - xt[1]) * (yt[1] - yt[2]) - (0 - yt[1]) * (xt[1] - xt[2]) >= 0) &&
((0 - xt[2]) * (yt[2] - yt[0]) - (0 - yt[2]) * (xt[2] - xt[0]) >= 0))
printf("(0, 0) IN TRIANGLE\n");
else printf("(0, 0) OUT TRIANGLE\n");
getch();
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены три переменные типа int для хранения координат вершин треугольника: xt[3], yt[3].
- Пользователю предлагается ввести координаты трёх вершин треугольника.
- С помощью условного оператора if проверяется, лежит ли точка (0,0) внутри треугольника, используя формулу Герона для нахождения площади треугольника.
- Выводится соответствующее сообщение в зависимости от результата проверки.