Страница: 1 | 2 |
Вопрос: Подскажите что да как
Добавлено: 06.11.06 16:50
Автор вопроса: unic42
Мне нужно написать программу для рассчёта количества ящиков, которые влезут в кузов грузого автобомобиля, пользователь вводит размеры ящика длину и ширину, размеры кузова постоянные 7 на 3, то есть сначала требуется чтобы программа по теории вероятности рассчитала все возможные комбинации как можно расставить ящики по ширине кузова, скажите пожалуйста как это написать на языке программирования, или математически объясните как это сделать?
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 06.11.06 16:56
Интересная задача, даже не с точки зрения программирования, а с точки зрения математики. Но задача звучит тоном заказчика... Нехватает только преполагаемой суммый заказа со стороны заказчика.
Номер ответа: 2
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #2
Добавлено: 06.11.06 17:53
Да, поддерживаю хакера - похоже на коммерческую программу.
В принципе реализуемо, только теория вероятностей здесь мало при чём. Комбинаторика скорее здесь применима
Номер ответа: 3
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #3
Добавлено: 06.11.06 18:40
ты чет попутал
поиск с возвратом, похожие задачи можно поискать на Code Source
Номер ответа: 4
Автор ответа:
unic42
Вопросов: 1
Ответов: 5
Профиль | | #4
Добавлено: 06.11.06 18:41
извиняюсь за тон, препод так задачу описал в универе, никакой комерческой выгоды от этого не получу... просто подумал может тут кто поможет математически в ней разобраться...
Номер ответа: 5
Автор ответа:
unic42
Вопросов: 1
Ответов: 5
Профиль | | #5
Добавлено: 06.11.06 18:44
да мне преопод так сказал чтобы программа просчитывала все возможные комбинации как можно расставить ящики допустим одни по ширине другой по длине третий снова по ширине, и чтобы выбирала ту которая наиболее выгодно буде занимать пространство...
Номер ответа: 6
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #6
Добавлено: 06.11.06 18:50
Лично мне здесь видится применение генетичсеких алгоритмов. Задача сложная. Это или курсач должен быть или доп задание, типа для автомата, или хз что. Или прямой перебор. По крайней мере можешь посчитать сколько всего вариантов будет (комбинаторика)
Номер ответа: 7
Автор ответа:
unic42
Вопросов: 1
Ответов: 5
Профиль | | #7
Добавлено: 06.11.06 18:53
ну он и сказал что сложная... да на автомат, в принципе экзамен я сдам, но автомат приятнее, я к сожалению не программер, можно чуточку доступнее???
Номер ответа: 8
Автор ответа:
unic42
Вопросов: 1
Ответов: 5
Профиль | | #8
Добавлено: 06.11.06 18:55
ну так да в уме можно посчитать но как это грамотно записать математически с этим проблема...
Номер ответа: 9
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #9
Добавлено: 06.11.06 20:59
Гы лол. если в уме представил, значит можешь запрограммировать. Алгоритм он и в африке алгоритм. В уме по шагам думай, что ты делаешь чтобы найти решение. Потом повторяй на языке программирования. И усё
Номер ответа: 10
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #10
Добавлено: 06.11.06 21:45
Сложность решения зависит от
1) минимального размера ящиков
2) существования НОД линейных размеров ящиков
3) ограничений на память и время работы
4) необходимость оптимального решения или просто хорошего.
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 07.11.06 00:17
Ну вот дела... Человек сам сказал, что в программировании особо не разбирается, а хочет автоматом... ок не вопрос, но чего-то нехватает
Номер ответа: 12
Автор ответа:
avdey
ICQ: 219571279
Вопросов: 34
Ответов: 486
Профиль | | #12
Добавлено: 07.11.06 13:34
WMZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ!!!)))))))
Номер ответа: 13
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #13
Добавлено: 07.11.06 22:52
Ну да ладно, небудем ценичными... Давайте хоть математически продумаем, подскажем как реализовать итп...
Думаю плоскость на которой стоят ящики нужно разбить сеткой. Например 1 метр квадратный, будет 10х10 клеточек... т.е. будет возможность задавать размеры до 1/10 метра...
Визуально, это что-то вроде программного создания прямоугольничка, с возможностью перетаскивания его по плоскости. Все размеры разумеется можно задавать в процессе выполнения программы, размеры эти будут округлятся до десятков соответственно.
И так есть поле 100х100 точек (квадратов), из них стоят несколько ящиков, определенных размеров 10х10 и 20х20 например... Теперь тредуется мозговой штурм математического ума. Удобно проектировать в тетради в клеточку, я пробовал так... Беру первый квадрат, ставлю его в координаты 0х0, и беру второй квадрат перетаксиваю в вложенном цикле... Туда где "станет" без пересечения с другими квадратами, знач вариант_перестановок++ Ну соответственно так пробегаемся по всем ящикам... Короче 4 цыкла вложенные друг в друга... 2 для ящиков, 2 для координат... Но это на брутфорс похоже Математики подскажут как проще...
Номер ответа: 14
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #14
Добавлено: 08.11.06 01:11
Ящики задаются вектором (длиа, ширина, высота). Положение ящика задаётся ещё одним вектором (x, y, z). Координата считается по левому нижнему ближнему углу. Ну и тут на самом деле по хорошему реально должен использоваться гинетический алгоритм. Правда для начала надо решить, что является целью. Хотя варианты есть. Если нужно перепробовать всё, то брутфорс, если сразу искать лучшую, то хз.
По какому предмету такое задали??? А то сделаем через перебор, а нужен был граф. Или сделаем через граф, а нужен был мат статистика и комбинаторика
Номер ответа: 15
Автор ответа:
unic42
Вопросов: 1
Ответов: 5
Профиль | | #15
Добавлено: 08.11.06 07:16
могу и заплатить, только вот где гарантия что программа придёт мне...
по информатике такое задали... размеры ящика могут быть 0,1 на 1,2 то есть вообще любые.