Предмет: Информатика, автор: vov44k

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


Giammy: В принципе тут больше математики
vov44k: а ответ дашь?
Giammy: Нет, тут ничего сложного нету.
Giammy: Могу максимум обьяснить алгоритм
vov44k: Если не сложно
Giammy: Я не за компьютером, вам, я так понимаю, нужна программа
vov44k: Да
Giammy: Ну вот.

Ответы

Автор ответа: Giammy
2

// 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.

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

Приложения:

vov44k: Спасибо
Аноним: Оу.... кому-то сильно приглянулись интерполированные строки? ))
Giammy: Удобно)
Похожие вопросы
Предмет: Математика, автор: yuminova99
Предмет: Алгебра, автор: Alexsandra20011