Задать вопрос
2 февраля, 04:19

Пусть даны вещественные числа x^1, x^2, x^3, y^1, y^2, y^3 принадлежит ли начало координат треугольнику с вершинами (x^1, y^1) (x^2, y^2) (x^3, y^3)

+1
Ответы (1)
  1. 2 февраля, 05:11
    0
    Var

    a:array[1 ... 3,1 ... 2]of real;

    b:array[1 ... 3]of real; / / массив для координат пересечения сторон с ОХ

    i, j, z:integer;

    / / (y1-y2) x + (x2-x1) y + (x1y2-x2y1) = 0 - ур-е прямой, прохоходящей через 2 точки

    / / тогда x = (x2y1-x1y2) / (y1-y2) - координата ее пересечения с осью х

    / / найдем координаты пересечения сторон с осью х

    function cross (x1, x2, y1, y2:real) : real;

    begin

    result: = (x2*y1-x1*y2) / (y1-y2) ;

    if ((result>x1) and (result>x2)) or ((result
    result:=1 / / это точка пересечения не самой стороны, а ее продолжения

    //поскольку в дальнейшем нам нужны будут знаки координат,

    //ей приписываем положительной значение, чтобы она не влияла

    //на конечный результат

    end;

    begin

    for i:=1 to 3 do

    begin

    writeln ('Введите координаты х, у вершины:') ;

    readln (a[i, 1], a[i, 2]) ;

    end;

    z:=1;

    for i:=1 to 3 do

    begin

    j:=i+1;

    if j>3 then j:=1;

    b[i]:=cross (a[i, 1], a[j, 1], a[i, 2], a[j, 2]) ;

    z:=sign (b[i]) * z;

    end;

    write ('Начало координат ') ;

    if z<0 then writeln ('принадлежит треугольнику')

    else writeln ('не принадлежит треугольнику') ;

    end.
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Пусть даны вещественные числа x^1, x^2, x^3, y^1, y^2, y^3 принадлежит ли начало координат треугольнику с вершинами (x^1, y^1) (x^2, y^2) ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике