|
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 16
|
|
Не могу реализовать очередь (модель дозаправки самолетов в воздухе)09.06.2013, 22:29. Показов 1406. Ответов 13
Метки нет (Все метки)
Вот само задание:
Модель дозаправки самолетов в воздухе. После выполнения задания самолеты производят дозаправку в воздухе. В рай-оне дозаправки постоянно дежурят 4 самолета-дозаправщика. Среднее время доза-правки одного самолета равно 10 минут. Плотность потока самолетов, нуждающихся в дозаправке, составляет 0.4. Если самолет, нуждающийся в дозаправке, застает все дозаправщики занятыми, он может некоторое время ожидать их освобождения в рай-оне дозаправки. Среднее время ожидания дозаправки 20 минут. Самолет, не дождав-шийся дозаправки, производит посадку на запасной аэродром. Если самолет доза-правлен, он производит посадку на основной аэродром. Смоделировать процесс доза-правки самолетов в течение N часов. В ходе моделирования выяснить среднее число дозаправленных самолетов, вероятность того, что самолет будет дозаправлен, среднее число самолетов, ожидающих дозаправки в воздухе, среднее время ожидания самолета в очереди на дозаправку. Вроде все понял как делать, а очередь не как не могу организовать, подскажите как лучше ее оформить Добавлено через 4 часа 9 минут Понял что лучше всего будет через список, если кто может помогите с реализацией
0
|
|
| 09.06.2013, 22:29 | |
|
Ответы с готовыми решениями:
13
Не могу понять,как реализовать класс-Очередь "FIFO" Звуковая волна в воздухе и электромагнитная волна в воздухе имеют одинаковую длину 10 см |
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
| 09.06.2013, 22:37 | |
|
используйте std::queue вместо самоделки. вот так поиграетесь со стандартной очередью, может и появятся мысли о том, как такое реализовать самостоятельно.
1
|
|
|
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 16
|
|
| 15.06.2013, 01:52 [ТС] | |
|
пробую сделать так (очередь через вектор)
(отрывок кода, но в нем смысл того что я хочу понять).(В начале все переменные равны 0) vector <int> ochered; randNext = 1 + rand()%99; // тут генерируется время до прилета нового самолета по моим данным randNext = randNext/100; timeNext = (-1/potokPlane)*log(randNext); timeLast = timeNext; if ( timeLast == 0 ) // если время равно 0 { newPlane = 1; // прилетает новый самолет randNext = 1 + rand()%99; // а дальше сразу расчитывается время до прилета следующего randNext = randNext/100; timeNext = (-1/potokPlane)*log(randNext); timeLast = timeNext; } if( newPlane==1 ) { ochered.push_back(40); //40 - это 20минут ожидания для дальнейшей манипуляцией ими { if( dozapr1==0 ) { randNext = 1 + rand()%99; // генирируется число randNext = randNext/100; VremyaRab1 = (-1/unknown)*log(randNext); // а здесь время работы дозаправщика dozapr1++; // и вот вопрос:мне нужно убрать из очереди элемент который добавился командой push_back // а лучше прировнять к 0 и в последующих манипуляциях его опять можно было исполь // зовать.Т.е. как обратится к тому элементу который сейчас у дазоправщика?
0
|
|
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
|
| 15.06.2013, 02:12 | |
|
Reygan, может немного не в тему, но:
1. есть теги для языков программирования (читать намного проще); 2. если предполагается использовать именно очердь, то лучше подойдёт std::queue.
1
|
|
|
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 16
|
|
| 15.06.2013, 02:32 [ТС] | |
|
Тогда вопрос как обратится допустим в очереди из 100 элементов к 55?
0
|
|
|
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
|
||
| 15.06.2013, 02:37 | ||
|
Не по теме:
1
|
||
|
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 16
|
|
| 15.06.2013, 02:44 [ТС] | |
|
я уже сам не пойму, если бы не было условия, что самолет может ждать 20 минут, то очередь можно было сделать как единое целое, но не получится так, потому что каждому элементу очереди нужно присвоить значение 20 минут, если дозаправщики заняты
0
|
|
| 15.06.2013, 03:15 | |
|
Не по теме: Reygan, прочитал ещё раз постановку задачи и скажу, что я не знаю, что от вас ожидают и как её решить и что вы хотели сделать в приведённом коде. Используйте std::vector, там можно обращаться к произвольному элемнту с помощью оператора индексации (как с обычным массивом), но как структура данных это не очередь.
1
|
|
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 15.06.2013, 03:32 | |
|
И сколько же самодуров задают такие вещи делать? То стек насилуют, то очередь загибают.
Reygan, берете list, работаете с ним как с обычным списком, лишь добавляете элементы в конец и убираете с начала. Перебор, который вам нужен (а вовсе не []) он поддерживает. Если нужно все же иметь индексацию, то используйте вектор, хоть и работа с первым элементом имеет уже линейное время, а не константное, как у list. При этом орете на всех, что это ваша супер-мега-очередь, и плевать, что это не так, преподы ждут именно таких реализаций. А зачем создавать себе проблемы и идти напролом? Такой вариант приемлем, если вы уверенно знаете язык и можете аргументированно обосновать бессмыслицу задания, но этого у вас нет. В действительности же, очередь, и, соотв, её реализация на STL - queue, не подходят для решения вашей задачи. Добавлено через 4 минуты Кстати, на втором курсе я преподу все же обосновал никчемность задания (собственная реализация очереди с методом вывода на экран print(), который должен был обходить не удаляя элементы. И все на основе массива. При этом предусмотреть, что очередь может быть (sic!) заполнена), правда STL я тогда уже начал изучать и с std::queue и реальной очередью был знаком.
1
|
|
| 15.06.2013, 03:45 | |
|
Не по теме: MrGluck, ) много проблем от непонимания) У меня на 2-ом курсе была дисциплина "Структуры данных" (Язык прог-я - С++). Одно задание к лаб. работе звучало примерно так: "проверьте, что выражение в стороке символов образует правильное мат. выражение (относительно расположения скобок); используйте структуру данных стек." (ну стандартная задача, да :) ) Так я решил, что надо сначало считать всё выражение в стек (получился рекурсивный монстр :) ); а окозалость, что можно было читать ввод посимвольно и "обрабатывать"... :) При сдаче я был, скажем так, крайне удивлён... :)
1
|
|
| 15.06.2013, 03:54 | |
|
Не по теме: Из той же методы - единственная лаба по ООП, сразу множественное наследование. При этом по вариантам (у всех точь в точь были) базовые классы: студент, адрес. Производный - студент. Модификатор типа при наследовании - public. А у меня даже смотреть лабу не стали, уже сразу 5 поставили. Я преподу обосновал, что студент не адрес и пообещал составить список нормальных заданий к этой лабе. Жалко, что после того, как я посидел часа 2-3, попридумывал заданий интересных, чтобы другим хоть знания давались, предоставил список, препод в него даже не заглянул, отложил "в самый нужный карман" и забыл.
1
|
|
| 15.06.2013, 04:00 | |
|
Не по теме: MrGluck, а мне оцеку тогда занизили, мол "всё конечно работает, но делается это не так" :) Не по теме:
1
|
|
|
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
|
||||||
| 15.06.2013, 04:40 | ||||||
|
На скорую руку, код
Не по теме: гавно
1
|
||||||
|
0 / 0 / 0
Регистрация: 17.10.2012
Сообщений: 16
|
||||||
| 16.06.2013, 01:02 [ТС] | ||||||
|
Буду пробывать использовать вектор, спасибо всем за ответы)
Добавлено через 9 часов 29 минут
0
|
||||||
| 16.06.2013, 01:02 | |
|
Помогаю со студенческими работами здесь
14
Очередь сообщений. Не могу поставить в очередь Модель ОЧЕРЕДЬ (queue). Создать приложение, описывающее процедуры и функции работы с ней Реализовать очередь Реализовать очередь Реализовать очередь в билдере Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|