В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
anastasiadrobinina
anastasiadrobinina
02.04.2020 20:31 •  Информатика

Служба обеспечивающая пересылку сообщение вещей между отправителем и поучителен

Показать ответ
Ответ:
demkainka
demkainka
26.07.2022 14:22
{ входит ли начало координат в треугольник }
type point = record
       x,y: real;
     end;
var s0,s: real;
    pts: array [1..3] of point;
    i: integer;
begin
{ считывание координат точек}
  for i:=1 to 3 do
   begin
     writeln('точка ',i,'  x ',' y ');
     write('         ');
     readln(pts[i].x,pts[i].y);
  end;
  { вычисляем площадь треугольника ABC  через векторное произведение }
  s0:=(pts[2].x-pts[1].x)*(pts[3].y-pts[1].y) - 
      (pts[3].x-pts[1].x)*(pts[2].y-pts[1].y);
  s0:=abs(s0);
{ вычисляем сумму площадей треугольников  из начала координат }
  s:=abs(pts[1].x*pts[2].y - pts[2].x*pts[1].y);
  s:=s+abs(pts[2].x*pts[3].y - pts[3].x*pts[2].y);
{ если  s > s0 , то начало координат вне треугольника }
  if s>s0 then writeln('начало координат вне треугольника')
  else writeln('начало координат внутри треугольника');
end.

На тестовой задаче:
точка 1  x  y 
             -1 -3
точка 2  x  y 
             -3 2
точка 3  x  y 
              4 3
начало координат внутри треугольника

точка 1  x  y
             -2 0
точка 2  x  y
              -3 2
точка 3  x  y
              4 3
начало координат вне треугольника

 
0,0(0 оценок)
Ответ:
Ксюша10012007
Ксюша10012007
26.05.2021 09:33

var

  A, B, K, R : longint;

begin

readln(A, B);

if (A mod 2 = 1) and (B mod 2 = 1) then

  writeln('-1');

if (A mod 2 = 0) and (B mod 2 = 0) and

     ((A div 2 <> B) or (B div 2 <> A)) then

  writeln('-1');

if (A mod 2 = 0) and (B mod 2 = 0) and

     ((A div 2 = B) or (B div 2 = A)) then

  if A > B then

     writeln(B, '0')

  else

     writeln('0', A);

if (A mod 2 = 1) and (B mod 2 = A) then begin

  A := A-1;

  B := B-2;

  if (A div 2 = B) or (B div 2 = A) then

     if A > B then

        writeln(B, '0')

     else

        writeln('0', A);

end;

if (B mod 2 = 1) and (A mod 2 = B) then begin

  B := B-1;

  A := A-2;

  if (B div 2 = A) or (A div 2 = B) then

     if B > A then

        writeln(B, '0')

     else

        writeln('0', A)

end;

end.

На Всё что могу.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота