Задать вопрос
19 мая, 09:52

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

+5
Ответы (1)
  1. 19 мая, 10:08
    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) ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы
Похожие вопросы по информатике