Последни материали
![Анонимно споделяне](/shr/usr/p_0.png)
Студент
Сподели нов файл на тема » Българско-руски и руско-български онлайн речници и справочни материали « в научна област » Език - Руски «
![Анонимно споделяне](/shr/usr/p_0.png)
Студент
Сподели нов файл на тема » Българско-немски и немско-български онлайн речници и справочни материали « в научна област » Език - Немски «
![Анонимно споделяне](/shr/usr/p_0.png)
Студент
Сподели нов файл на тема » Българско-български речници и други справочни материали « в научна област » Български език и литература «
Последни въпроси
![Хелин Фахридин](/shr/usr/p_0.png)
Студент
Имам нужда от помощ по дисциплина »Хигиена и екология« в научна област »Медицина«
![Росица Христова](/shr/usr/40201-40300/p_40215_1.jpg)
Студент
Имам нужда от помощ по дисциплина »Социална медицина« в научна област »Медицина«
![Мирела Андонова](/shr/usr/p_0.png)
Студент
Имам нужда от помощ по дисциплина »Пропедевтика на хирургичните болести« в научна област »Медицина«
Тук можете да помогнете на Ваш колега. Отговорът с най-много благодарности се счита за най-добър. Важно е да си помагаме!
Зададен от: | ||
---|---|---|
![]() | Студент | Отговори: 1 Преглеждания: 742 |
Ваш колега има нужда от файл?
Можете да споделяте учебни материали директно в платформата! Така те ще бъдат полезни и за други Ваши колеги. След като споделите файл, Вие можете да поставите линк към него, като отговор на въпроса. Благодарим Ви!
ВНИМАНИЕ!
Предлагането на платени услуги за изготвяне/предоставяне на материали е и винаги е било забранено в платформата! Нарушението на това правило ще води до деактиваране на профила.
![Добромир Стефанов Добромир Стефанов](/shr/usr/1201-1300/p_1231_1.jpg)
От: Добромир Стефанов
Висше училище: Технически университет
15.12.2019, 14:02
Висше училище: Технически университет
15.12.2019, 14:02
Здравей,
На какъв език трябва да се реализира решението?
Иначе логиката за решаване е съвсем проста:
- Трябва ти едно queue (опашка, FIFO - first in, first out), в която влизат клиентите. Тук под клиент не се разбира точно 1 човек, а броя на хората, които искат да седнат на дадена маса. Идеята на FIFO е че тези, които са първи, трябват да бъдат обслужени първи.
- Броят и вида на масите може да се съхранява както в масив, така и в някакъв hash-map (dictionary или по друг начин в програмните езици). Ако изберем масив - може да използваме 1 или 3 масива за пазене на масите:
а) Ако целим използване на малко място и бързо действие - Един масив. С общо 20 елемента. Като от 0 до 9-ти индекс са елементите за маси с 2 места, от 10ти до 14-ти тези с 4 места и от 15 до 19 тези с 6 места). Масивът може просто да число, бит или boolean, който казва дали дадения индекс е свободен 0 (true) или е заета 1 (false);
б) Ако целим малко повече яснота в кода може да използваме 3 масива, като логиката е същата.
- Да речем, че искаме да пестим място и сме избрали решението с 1 масив. При влизане на клиент/и проверяваме спрямо тяхната бройка дали в масива в този диапазон от индекси имаме такъв, който е със свободно място (0). Ако е свободно ги "настаняваме" (тоест стойността на елемента в масива става 1) и махаме клиентите от опашката.
Пример с псевдо код:
int[] tables = [0, 0, 0, ...]; // Може да попълним масива с 20 нули в цикъл
int customers_count = stdin(); // Четем броя клиенти от STDIN
if (customers_count > 0 && customers_count < 3) {
// Проверка с for или най- добре да изкараме логиката в друга фунцкия в която обхождаме
// масива от 0 до 9 и проверява за първи свободен индекс, като му даваме стойност 1
}
else if (customers_count > 2 && customers_count < 5) {
// Същото само че вече са за елементите от 10 до 14
}
и т.н.
Ако имаш още въпроси, може да пишеш тук.
Благодаря (2)На какъв език трябва да се реализира решението?
Иначе логиката за решаване е съвсем проста:
- Трябва ти едно queue (опашка, FIFO - first in, first out), в която влизат клиентите. Тук под клиент не се разбира точно 1 човек, а броя на хората, които искат да седнат на дадена маса. Идеята на FIFO е че тези, които са първи, трябват да бъдат обслужени първи.
- Броят и вида на масите може да се съхранява както в масив, така и в някакъв hash-map (dictionary или по друг начин в програмните езици). Ако изберем масив - може да използваме 1 или 3 масива за пазене на масите:
а) Ако целим използване на малко място и бързо действие - Един масив. С общо 20 елемента. Като от 0 до 9-ти индекс са елементите за маси с 2 места, от 10ти до 14-ти тези с 4 места и от 15 до 19 тези с 6 места). Масивът може просто да число, бит или boolean, който казва дали дадения индекс е свободен 0 (true) или е заета 1 (false);
б) Ако целим малко повече яснота в кода може да използваме 3 масива, като логиката е същата.
- Да речем, че искаме да пестим място и сме избрали решението с 1 масив. При влизане на клиент/и проверяваме спрямо тяхната бройка дали в масива в този диапазон от индекси имаме такъв, който е със свободно място (0). Ако е свободно ги "настаняваме" (тоест стойността на елемента в масива става 1) и махаме клиентите от опашката.
Пример с псевдо код:
int[] tables = [0, 0, 0, ...]; // Може да попълним масива с 20 нули в цикъл
int customers_count = stdin(); // Четем броя клиенти от STDIN
if (customers_count > 0 && customers_count < 3) {
// Проверка с for или най- добре да изкараме логиката в друга фунцкия в която обхождаме
// масива от 0 до 9 и проверява за първи свободен индекс, като му даваме стойност 1
}
else if (customers_count > 2 && customers_count < 5) {
// Същото само че вече са за елементите от 10 до 14
}
и т.н.
Ако имаш още въпроси, може да пишеш тук.