Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2015, 15:39   #1
5991
 
Регистрация: 13.10.2015
Сообщений: 4
По умолчанию Необходимо реализовать решение в виде программы (или алгоритма) задачи про миссионеров и людоедов

Здравствуйте. Сразу оговорюсь, на эту тему мною было просмотрено множество информации, имеющейся на страницах сети интернет, но она бесполезна. На разных форумах, в том числе и на этом, описано решение моей задачи, но это все не то.
Задача следующая. Необходимо реализовать решение в виде программы (или алгоритма) задачи про миссионеров и людоедов.
Решения на языках C++ и Prolog есть, но так как эти языки далеки от меня (поэтому "...это все не то"), прошу мне помочь разобраться.
Вообще необходимо реализовать программу на языке VBA, но в Лазарусе тоже подойдет (понять бы хоть принцип).
5991 вне форума Ответить с цитированием
Старый 13.10.2015, 16:35   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

есть же раздел фриланса, напишут хоть на ассемблере.
Человек_Борща вне форума Ответить с цитированием
Старый 13.10.2015, 16:52   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

5991, это насчёт переправы на лодке через реку?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.10.2015, 17:00   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
задачи про миссионеров и людоедов.
И как они звучат? "Почему аборигены съели Кука?"
Хотели кока, а съели Кука...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.10.2015, 17:07   #5
5991
 
Регистрация: 13.10.2015
Сообщений: 4
По умолчанию

Племя из M миссионеров и L людоедов находится по одну сторону реки, через которую необходимо переправиться. В распоряжении имеется одна лодка, которая может выдержать вес только K представителей этого племени (все имеют одинаковый вес). Кроме того, если в какой-то момент времени число людоедов станет больше числа миссионеров, миссионеры будут съедены независимо от того, на каком берегу или в лодке это случится.

В лодке не более 2 человек

3 миссионера и 3 людоеда

Последний раз редактировалось Stilet; 13.10.2015 в 17:12.
5991 вне форума Ответить с цитированием
Старый 13.10.2015, 17:13   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

5991, так. уже лучше.
теперь хоть понятно, какую задачу Вы решаете.

тут и тут рассуждения читали?

Алгоритм удалось вывести?
Где найденное Вами решение на С++ ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.10.2015, 17:20   #7
5991
 
Регистрация: 13.10.2015
Сообщений: 4
По умолчанию

вот, это на C
http://www.cyberforum.ru/cpp-beginne...ead350548.html

это алгоритм(без вывода результата), только он, кажется,не очень рабочий

само решение мне известно. не знаю как реализовать программу.
вот и схемка есть.
Изображения
Тип файла: jpg v40A4vkqgR4.jpg (79.7 Кб, 137 просмотров)
Тип файла: jpg xSmId_9nMLw.jpg (98.1 Кб, 137 просмотров)

Последний раз редактировалось Stilet; 13.10.2015 в 18:14.
5991 вне форума Ответить с цитированием
Старый 13.10.2015, 17:29   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от 5991 Посмотреть сообщение
вот, это на C
точнее, на C++

не, я за перевод не возьмусь.
во-первых, там реализовано решение через рекурсию.
во-вторых, слишком заморочено (на мой дилетантский взгляд).

Цитата:
само решение мне известно.
так это же только для случая M=3, L=3 и K=2
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.10.2015, 17:32   #9
5991
 
Регистрация: 13.10.2015
Сообщений: 4
По умолчанию

да. но программа нужна не только для этого случая

ладно. сама буду.

Последний раз редактировалось Stilet; 13.10.2015 в 18:14.
5991 вне форума Ответить с цитированием
Старый 13.10.2015, 17:57   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

честно слово, я бы рад помочь, но задачка явно не на пять минут.
И тут явно нужен перебор. А перебор не простой, скорее всего - с возвратом.
Искренне желаю успехов!
Извините, что ничем не помог!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь с реализовать алгоритма к-means( к-средних) в С++ или паскале. sergeyi_m Помощь студентам 0 26.04.2014 00:45
Оформить в виде функции на С/С++ решение задачи Beauty44 Помощь студентам 0 15.05.2013 18:26
вывести решение задачи в виде таблицы программирование Помощь студентам 0 01.05.2013 21:51
Необходимо решение задачи на рекурсию Пират Помощь студентам 1 03.07.2011 06:27
Решение задачи про ферзей yuran80 Паскаль, Turbo Pascal, PascalABC.NET 5 08.10.2008 12:59