Даны два прямоугольника. Первый прямоугольник задан координатами левой нижней вершины (0;...

0 голосов
365 просмотров

Даны два прямоугольника. Первый прямоугольник задан координатами левой нижней вершины (0; 0) и правой верхней – (W; H) (W > 0 и H > 0) в прямоугольной системе координат, а стороны этого прямоугольника параллельны осям координат. Второй прямоугольник полностью располагается внутри первого и имеет ширину RW и высоту RH, а его стороны также параллельны осям координат. Определите координаты верхней левой и нижней правой вершин второго прямоугольника, если точки пересечения диагоналей обоих прямоугольников совпадают.
Объясните свой ответ


Информатика (153 баллов) | 365 просмотров
0

В принципе тут больше математики

0

а ответ дашь?

0

Нет, тут ничего сложного нету.

0

Могу максимум обьяснить алгоритм

0

Если не сложно

0

Я не за компьютером, вам, я так понимаю, нужна программа

0

Да

0

Ну вот.

Дан 1 ответ
0 голосов

// PascalABC.NET 3.4.2, сборка 1785 от 06.09.2018


begin

 var (w, h) := ReadInteger2('w,h->'); // точка (w;h)

 var (ox, oy) := (w / 2, h / 2); // находим координаты цента (0;0) и (w;h)

 (w, h) := ReadInteger2('rw,rh->'); // ввод RW и RH

 Println($'Координаты левой верхней вершины ({ox+h/2};{oy-w/2})'); // - половина высоты прибавляется и половина ширины вычитается

 Println($'Координаты правой нижней вершины ({ox-h/2};{oy+w/2})'); // - половина ширины прибавляется и половина высоты вычитается

end.

Если моя математика не подводит, то должно быть верно.


image
(5.8k баллов)
0

Спасибо

0

Оу.... кому-то сильно приглянулись интерполированные строки? ))

0

Удобно)