Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++], "Исправить алгоритм, rand. СМО магазина."


Автор: Suriv 25.4.2011, 17:46
Доброго времени суток,  не подскажите, как поправить кусочек кода. Опишу общую суть этого отрывка программы. Есть магазин работающий от 0 до 240 минут. Приходят покупатели периодичностью от 2 до 5 минут. На обслуживание клиента уходит от 0,5 до 1 минут. Клиенты обслуживаемые вне очереди приходят с периодичностью от 10 до 20 минут. Нужно посчитать количество клиентов за этот период времени. Написал кое-что, но вот не могу понять как вписать в программу клиентов без очереди. Вот этот кусочек кода:
Код

#include <iostream>
#include <ctime>

using namespace std;

int main ()
{
    setlocale (0,"");
    srand (time(0));

    int t = 0; // время работы магазина в минутах
    int i = 0; // счетчик клиентов
    float obsl = 0; // время обслуживания одного клиента

    while (t <= 240)
    {
        float prom1 = 0; // промежуток времени через сколько придет следующий клиент
        prom1 = 2 + (rand() % 4); // генерирует случайное время через сколько минут подойдет новый клиент
        t = t + prom1; // к общему времени работы магазина суммирует время ожидания клиента, простой

        obsl = 0.5 + (rand() % 3); // генерирует случайное время втечении которого будет обслуживаться клиент
        t = t + obsl; // к общему времени работы магазина суммирует время обслуживания клиента

    
        i++; // счетчик посетителей с 00,00 - 04,00        
    }
cout << "С 00:00-04:00 в магазине было: " << i << " поситителей \n" << endl;

system ("pause");

    return 0;
}


Автор: v4v4n 26.4.2011, 10:23
У тебя в программе не может быть двух покупателей одновременно. Как сделать вне очереди, если нет очереди? Или переформулируй условие задачи.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)