Разработать структуру, описывающую равнобедренный треугольник на плоскости - C (СИ)
Формулировка задачи:
Помогите разработать структуру, описывающую равнобедренный треугольник на плоскости с помощью его координат
Решение задачи: «Разработать структуру, описывающую равнобедренный треугольник на плоскости»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> struct point { double x, y; }; struct triangle { struct point A, B, C; }; /* algebraic vector */ typedef struct point vector_t; double edge_length (struct point * p1, struct point * p2) { vector_t vec; vec.x = p2->x - p1->x; vec.y = p2->y - p1->y; return sqrtl(vec.x * vec.x + vec.y * vec.y); } int equal_edge (struct triangle * inst) { double a, b, c; a = edge_length(&inst->A, &inst->B); b = edge_length(&inst->B, &inst->C); c = edge_length(&inst->C, &inst->A); return a == b || a == c || b == c; } int main () { struct triangle inst; inst.A.x = 2; inst.A.y = 2; inst.B.x = 4; inst.B.y = 6; inst.C.x = 6; inst.C.y = 2; if (equal_edge(&inst)) fprintf(stdout, "YES\n"); else fprintf(stdout, "NO\n"); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с языком C
- Объявляем структуру point, которая представляет собой точку на плоскости
- Объявляем структуру triangle, которая представляет собой равнобедренный треугольник на плоскости
- Объявляем тип данных vector_t, который представляет собой вектор для работы с алгебраическими операциями
- Определяем функцию edge_length, которая вычисляет длину отрезка между двумя точками на плоскости
- Определяем функцию equal_edge, которая проверяет, являются ли длины всех сторон треугольника равными
- В функции main создаем экземпляр структуры triangle и инициализируем его поля значениями для примера
- Проверяем, является ли треугольник равнобедренным, и выводим соответствующее сообщение на экран
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д