@didrux

Задача на C про координаты и точку и площадь?

Сразу прощу прощения если нарушаю какие-то правила сообщества хабровчан. Прошу удалить пост, если это так.

Имеется задача:

На плоскости задана ограниченная линиями y=x^2, y=2-x^2 область R и точки A(x1,y1), B(x2,y2), C(x3,y3). Сделать программу, которая вычисляет периметр и площадь треугольника ABC, если точки А,В,С принадлежат области R и не лежат на одной прямой

Использовать только стандартные библиотеки, только С без С++

Если есть энтузиасты готовые решить задачу, пишите в ответы буду очень благодарен
Либо кто практичнее - пишите в телеграм didrux за рабочий код вышлю пару рублей куда удобнее. Спасибо !
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@didrux Автор вопроса
/*****COPYRIGHT BY MICHAEL DIDRUX OVDIIENKO CODE O.V MATVIY, 101-B, ChNU, 2020
*****/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    
    printf("Type each point of A,B,C\n");
    double per,ax,ay,bx,by,cx,cy,ab,ac,bc;
    printf("Point A(x1,y1) --> ");
    scanf("%lf%lf",&ax,&ay);
    printf("Point B(x2,y2) --> ");
    scanf("%lf%lf",&bx,&by);
    printf("Point C(x3,y3) --> ");
    scanf("%lf%lf",&cx,&cy);
    ab = sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by));
    ac = sqrt((ax-cx)*(ax-cx)+(ay-cy)*(ay-cy));
    bc = sqrt((cx-bx)*(cx-bx)+(cy-by)*(cy-by));
    per  = (ab+bc+ac)/2;
    if (!((ay >= 2*ax*ax && ay <= 2-ax*ax) && (by >= 2*bx*bx && by <= 2-bx*bx) &&  (cy >= 2*cx*cx && cy <= 2-cx*cx))){
        printf("Point's doesn't on the area\n");
    }
    else if (ab + bc == ac || ac+ bc == ab || ab+ac == bc){
        printf("Points on one line\n");        
    }
    else
        printf("S = %.2f\n", sqrt(per*(per-ab)*(per-bc)*(per-ac)));
    return 0;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы