Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача2
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Beseech
Определить,пройдет ли кирпич с рёбрами a,b,c в прямоугольное отверстие со сторонами x и y. Вкладывать кирпич в отверстие разрешается только так,чтобы каждое его ребро было паралельно или перпендикулярно каждой из сторон отверстия.
Заранее очень благодарен

 ! 
Переименую тему, либо она будет закрыта

Tan
Ну суть такая если я правильно понял: 3 возможных площади поверхности которыми ты будешь проталкивать кирпич это a * b, a * с, b * с, каждое из них тебе надо сравнить c площадью дырки x * y и в результате если площадь дырки > =, то протолкнуть можно. С реализацией проблем не должно быть.

uses crt;
var a, b, c, x, y : real;
begin
readln (a);
readln (b);
readln ©;
readln (x);
readln (y);
If (((a * b <= x * y) or (a * c <= x * y) or (b * c <= x * y))) then writeln (' Yes ')
else writeln (' No ');
readkey;
end.
klem4
Во первых твоя программа не компилируется, что уже само по себе является нарушением правил, во вторых, даже если убрать не объявленную переменную, которая не нужна, алгоритм не верен

Пример

a = 4.5
b = 4.5
c = 2

x = 3
y = 3

Выдает Yes, ибо 4.5 * 2 = 9 и 3*3 = 9, но строна 4.5 никак в 3 не войдет.
Tan
Извиняюсь за ошибку не ту версию копи - пастнул. Ну да, надо ещё добавить проверку по сторонам.
klem4
Цитата
Ну да, надо ещё добавить проверку по сторонам.


Только она и нужна.
Beseech
Если не сложно обьясните плиз поточнее,а то я не очень разбираюсь)) good.gif
Tan
Когда мы просовываем кирпич, то мы "используем 2 ребра кирпича". Тебе надо проверить не будет ли так что одно из них или оба будут больше длины либо ширины отверстия.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.