0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 5
1

Заданы размеры прямоугольного отверстия A,B и размеры кирпича X,Y,Z. Определить, пройдет ли кирпич в отверстие

05.02.2012, 10:45. Показов 11502. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста решить задачу на С++ про кирпич

Условие:
Заданы размеры прямоугольного отверстия A,B и размеры кирпича X,Y,Z. Определить, пройдет ли кирпич в отверстие. Замечание: задачу решать в предположении, что A>B, X>Y>Z

Заранее большое СПАСИБО!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2012, 10:45
Ответы с готовыми решениями:

Определить, пройдет ли кирпич в прямоугольное отверстие (Pascal -> C++)
Помогите перевести из паскаля в си++ uses crt; var a,b,c,x,y:real; t:boolean; ...

Определить может ли кирпич имеющий форму прямоугольного параллелепипеда пройти через квадратное отверстие
Определить, может ли кирпич, имеющий форму прямоугольного параллелепипеда с рёбрами a,b,c, пройти...

Пройдет ли кирпич через прямоугольное отверстие
Пройдет ли кирпич со сторонами a, b и c через прямоугольное отверстие со сторонами x и y? Стороны...

Пройдет ли кирпич с заданными сторонами в отверстие
Здравствуйте, помогите решить задачу)) Пройдет ли кирпич со сторонами a, b и c через...

12
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.02.2012, 11:36 2
Цитата Сообщение от Lana44 Посмотреть сообщение
Заданы размеры прямоугольного отверстия A,B и размеры кирпича X,Y,Z. Определить, пройдет ли кирпич в отверстие. Замечание: задачу решать в предположении, что A>B, X>Y>Z
C++
1
2
if((z <= b) && (y <= a))
    std::cout << "yes" << std::endl
0
1405 / 647 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
05.02.2012, 11:42 3
soon, по идее можно поворачивать кирпич
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.02.2012, 12:49 4
Цитата Сообщение от Dani Посмотреть сообщение
soon, по идее можно поворачивать кирпич
Тогда вот так. Несколько сумбурно. И не факт, что правильно, поэтому только набросок.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <cmath>
 
int main()
{
    double a, b;
    std::cin >> a >> b;
    double x, y, z;
    std::cin >> x >> y >> z;
    if((z <= b) && (y <= a ))
        std::cout << "yes" << std::endl;
    else
    {
        double hip = std::sqrt(a * a + b * b);
        double sinA = a / hip;
        double sinB = b / hip;
        double dA = sinA * y;
        double dB = sinB * y;
        double xA = a - dA;
        double xB = b - dB;
        if(std::sqrt(xA * xA + xB * xB) >= z)
            std::cout << "yes" << std::endl;
        else
            std::cout << "no" << std::endl;
    }
    return 0;
}
2
Полярный
476 / 448 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
05.02.2012, 13:13 5
А так?
C++
1
2
if ((X < A && Y < B) || (X < B && Y < A)) || ((Y < A && Z < B)   ||  (Y < B && Z < A)) || ((X < A && Z < B)  || (X < B && Z < A))
   cout << "Yes";
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.02.2012, 13:35 6
dimcoder, даже на 1 1 1 1 1 не проходит.
0
Полярный
476 / 448 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
05.02.2012, 13:47 7
Цитата Сообщение от soon Посмотреть сообщение
dimcoder, даже на 1 1 1 1 1 не проходит.
Ну дорисовать везде к знакам сравнения =
<=
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.02.2012, 13:58 8
dimcoder, алгоритм, в котором сторона кирпича параллельна стороне отверстия представлен в посте #2. Лучше рассмотрите тот случай, когда кирпич можно поворачивать
0
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 629
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
05.02.2012, 14:55 9
Цитата Сообщение от soon Посмотреть сообщение
dimcoder, алгоритм, в котором сторона кирпича параллельна стороне отверстия представлен в посте #2. Лучше рассмотрите тот случай, когда кирпич можно поворачивать
Трудно сказать определенно, но что-то заставляет усомниться:
Формулировка задачи:
Цитата Сообщение от Lana44 Посмотреть сообщение
Определить, пройдет ли кирпич в отверстие
Я читаю - как необходимое условие. Ну, то есть "Является ли отверстие таковым, что бы кирпич мог в него пройти" это - конечно, случай с параллельными сторонами. Здесь несмотря на некоторую интуитивность, все просто и строго. Так как в случае необходимой достаточности, не нужно оговаривать как движется кирпич. (Захочешь, - найдешь наилучший способ)
Думаю, если бы иметь в виду, случай произвольного пространственного положения кирпича относительно отверстия, сформулировать задачу было бы сложнее. Там было бы что-то вроде "Определить размеры прямоугольного отверстия, пропускающего кирпич при таком его движении, что траектория движения точки пересечения его диагоналей (или центра масс), перпендикулярна плоскости отверстия и проходит через точку пересечения диагоналей отверстия."
Как на мой вкус, с простотой формулировки потеряны, красота, интрига, изюминка задачи. Добавлена техническая сложность? Не уверен. Могу быть неправ, но вроде, в этом случае подходят все прямоугольники, каждая сторона, которых больше главной диагонали кирпича sqr(a^2+b^2+c^2).
Тут вроде и алгоритма нет.
По-этому, думаю, - Ваш ответ #2 - это правильный ответ всей задачи, если, только это не курсовая работа
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.02.2012, 15:26 10
Цитата Сообщение от IGPIGP Посмотреть сообщение
Могу быть неправ, но вроде, в этом случае подходят все прямоугольники, каждая сторона, которых больше главной диагонали кирпича sqr(a^2+b^2+c^2).
Хотели сказать sqrt?

Да даже если и sqrt, я чего-то не понимаю. К примеру кирпич 11 * 10 * 1, диагональ ~14.8. Размер отверстия 10*10. Все стороны меньше диагонали.
0
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 629
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
05.02.2012, 15:36 11
Цитата Сообщение от soon Посмотреть сообщение
Да даже если и sqrt, я чего-то не понимаю. К примеру кирпич 11 * 10 * 1, диагональ ~14.8. Размер отверстия 10*10. Все стороны меньше диагонали.
Конечно Sqrt();
Я думаю, что если уж разрешать вращать, то уже разрешать, а запрещать проходить - так уже запрещать. Ну, как у А. Розенбаума. А поскольку, главная диагональ - максимальный размер параллелепипеда, кто мне запретит развернуть его этой диагональю параллельно любой из сторон отверстия? -"Летать, - так летать!"
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
05.02.2012, 15:39 12
IGPIGP, я кажется понял вас. Вы хотели сказать, что "как не вращай кирпич, он должен пролазить в дырку", да?
0
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 629
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
05.02.2012, 16:01 13
Цитата Сообщение от soon Посмотреть сообщение
Вы хотели сказать, что "как не вращай кирпич, он должен
В моём первом посте о формулировке задачи, я выразился наиболее, точно и нудно.
Ну, то есть, как только мы отказываемся от отверстия которое Может (не обязано) пропустить, мы сразу допускаем, что и проносить кирпич будем - не самым лучшим образом.
Но ведь ни-каких ограничений на траекторию цм кирпича нет! А-ну, покажите мне стену с каким угодно большим отверстием, что бы я швырнув кирпич, без желания попасть, и не промахнулся бы.
Нет, я считаю, что во #2 посте Вы были правы.
Что касается Sqrt(a^2+d^2+c^2) - это иллюстрация, того, что нужно ввести ограничения (траектория цм перпендикулярна плоскости прямоуголного отверстия и проходит через точку пересечения его диагоналей) за "нерадивых" составителей задачи, и в добавок, что здесь нет алгоритма, просто геометрия. Еще один аргумент, что вращать не стоит. Мое мнение
0
05.02.2012, 16:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2012, 16:01
Помогаю со студенческими работами здесь

Проверить, пройдет ли кирпич с ребрами a,b,c в отверстие размером x на y
Даны действительные положительные числа a,b,c,x,y.Проверить,пройдет ли кирпич с ребрами a,b,c в...

Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x и y.
Даны действительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в...

Выяснить, пройдет ли кирпич с ребрами a, b, c в прямоугольное отверстие со сторонами x и y
Даны действительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в...

Заданы размеры прямоугольного отверстия и размеры кирпича. Определить, пройдет ли кирпич в отверстие
Заданы размеры прямоугольного отверстия A,B и размеры кирпича X,Y,Z. Определить, пройдет ли кирпич...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru