Разработать структуру, описывающую равнобедренный треугольник на плоскости - 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;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с языком C
  2. Объявляем структуру point, которая представляет собой точку на плоскости
  3. Объявляем структуру triangle, которая представляет собой равнобедренный треугольник на плоскости
  4. Объявляем тип данных vector_t, который представляет собой вектор для работы с алгебраическими операциями
  5. Определяем функцию edge_length, которая вычисляет длину отрезка между двумя точками на плоскости
  6. Определяем функцию equal_edge, которая проверяет, являются ли длины всех сторон треугольника равными
  7. В функции main создаем экземпляр структуры triangle и инициализируем его поля значениями для примера
  8. Проверяем, является ли треугольник равнобедренным, и выводим соответствующее сообщение на экран
  9. Возвращаем 0, чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы