|
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 13
|
||||||
Бесконечный цикл23.05.2011, 12:48. Показов 2084. Ответов 10
Метки нет (Все метки)
Задача: Дед Мазай спасает зайцев. На N островках находится некоторое количество зайцев разной массы. Грузоподъемность лодки Мазая ограничена. Мазай совершает челночные поездки от самого дальнего островка к большой суше, делая промежуточные остановки на каждом островке, меняя зайцев – выпуская самых легких и забирая, по возможности, самых упитанных. Вывести обстановку среди зайцев-островитян после очередного объезда.
Зайцы находятся в векторе. Я написала функцию спасения зайцев, но где-то ухожу в бесконечный цикл, т.к. всё время вылетает "Debug assertion failed, vector subscript out of range". Не могу найти(
0
|
||||||
| 23.05.2011, 12:48 | |
|
Ответы с готовыми решениями:
10
Почему цикл на при 1 уходит в бесконечный цикл?
Бесконечный цикл |
|
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 13
|
||||||
| 23.05.2011, 15:44 [ТС] | ||||||
|
Спасибо, этот баг нашла, поменяла, теперь, если один остров, то работает нормально, а вот с двумя и более неправильно( Он не учитывает, что лодка уже заполнена.
0
|
||||||
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
| 23.05.2011, 20:11 | |
|
Тома1993, Вы не поверите, но я тот заяц, которого не спас дед Мазай по Вашей воли (по Вашим расчетам). А если честно, то в условии задачи нет никаких ограничений, на вывоз зайцев - когда-нибудь все-таки дед Мазай вывезет всех зайцев, кроме зайцев превысивших грузоподъемность его лодки.
Смысл задачи?
0
|
|
|
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 13
|
||||||
| 23.05.2011, 21:16 [ТС] | ||||||
|
Просто смоделировать этот процесс.
Я его моделирую до тех пор, пока не будет команды "exit". В принципе, я составила алгоритм: Сначала сортирую всех зайцев с первого острова по массе, помещаю их в лодку, пока вместимость не будет превышена. Перемещаюсь к следующему острову. Сравниваю массу самого лёгкого зайца в лодке с массой самого упитанного зайца на острове. Если масса зайца в лодке меньше массы зайца на острове, то: Освободить место для более упитанного зайца ( зайца с острова ), если возможно, то есть: - Найти всех зайцев в лодке, меньших по массе, чем заяц с острова. - проверить, будет ли их общая масса больше либо равна массе более упитанного зайца: Если да, высадить на остров стольких, чтобы в лодку поместился более упитанный заяц. Если нет, то перейти к следующему зайцу на острове. реализация такая:
0
|
||||||
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
| 23.05.2011, 21:26 | |
|
Тома1993, Вот если честно, не увидел ни какого подвоха в этой задачи. Если я ошибаюсь, то поправьте меня - но вижу одно из решений задачи так:
- каждого зайца с любого острова Мазай может вывезти даже по одному (исключения составляют, только зайцы, вес которых превышает грузоподъемность лодки Мазая). Может есть в условии чтобы сделать минимум рейсов?
0
|
|
|
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 13
|
|
| 23.05.2011, 21:29 [ТС] | |
|
valeriikozlov, скопировала так, как было в курсовике, видимо, оптимальное решение подразумевается.
0
|
|
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|||
| 23.05.2011, 21:46 | |||
|
Ну и фиг с ними. Ни когда не любил их (зайцев). На самом деле видя условие задачи, уточняю, что Ваш алгоритм не верен: Ваш алгоритм: привезти на материк по возможности самых жирных зайцев, со всех островов.
1
|
|||
|
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 13
|
|
| 23.05.2011, 21:57 [ТС] | |
|
Ещё бы понять, как это сделать.
0
|
|
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||
| 23.05.2011, 22:10 | ||
|
Тома1993, можно запросто. Для этого нужно динамическое програмирование применить. Но в Вашем случае оно не обязательно, судя по условию задачи...
Я бы на Вашем месте уточнил бы вот эту фразу:
0
|
||
|
0 / 0 / 0
Регистрация: 17.03.2011
Сообщений: 13
|
|
| 23.05.2011, 23:15 [ТС] | |
|
Я так и делаю (пытаюсь делать) в своём алгоритме. Вот только с первым островом всё нормально, а когда переезжаю на следующий, то делается сортировка зайцев по убыванию, и всё, дальше программа останавливается.
0
|
|
| 23.05.2011, 23:15 | |
|
Помогаю со студенческими работами здесь
11
Бесконечный цикл Бесконечный цикл Бесконечный цикл While Бесконечный цикл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|