Форум программистов, компьютерный форум CyberForum.ru

Система массового обслуживания - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Из двумерного массива удалить строку и столбец на пересечении которых находится минимальный элемент http://www.cyberforum.ru/cpp-beginners/thread1047480.html
Из двумерного массива удалить строку и столбец на пересечении которых находится минимальный элемент
C++ Задачки Напишите хотя бы несколько задач на C++ очень надо. Спасибо! 1)Винни-Пух похвастался кролику,что похудел на М килограмм. Определить, насколько похудел Винни-Пух в фунтах (0.4536кг) и унциях (0.0283кг) одна тема - одна задача, читайте правила форума http://www.cyberforum.ru/cpp-beginners/thread1047477.html
C++ Проверить истинность высказывания
программу надо написать на С++ 1. Дано целое положительное число. Проверить истинность высказывания: «Данное число является нечетным трехзначным». одна тема - одна задача, читайте правила форума
Процедуры и функции dev cpp, С++ C++
Составить процедуру, «рисующую» на экране горизонтальную линию из заданного числа символов «*». ребята пожалуйста! зачёт уже завтра и осталось сдать одну единственную задачу!
C++ Реализация функций http://www.cyberforum.ru/cpp-beginners/thread1047466.html
Как реализовать функции ,что бы программа выдавала так как показано в примере:
C++ Блок-схема. Одномерные массивы Нужна помощь в составлении блок-схемы. Очень срочно. Никак не могу составить..:( #pragma argsused int main() { int i,s,min,x,n,massiv; char v; randomize (); printf("Input N (<=10)"); scanf("%d", &n); подробнее

Показать сообщение отдельно
Quadrillionaire
13 / 13 / 1
Регистрация: 09.03.2013
Сообщений: 180
18.12.2013, 23:51  [ТС]     Система массового обслуживания
Написал код заново, но не могу понять, почему результат работы выглядит вот так:
Система массового обслуживания
Вот сам код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <locale>
 
using namespace std;
 
double RandD(int);
int RandI(int);
void OA(int &ochered,int &z1_in,int &z1_out,double &t1,double &t2,double &AT,double &sr_izm,double &sr_summ);
int main()
{
    srand(time(NULL));
    setlocale (LC_ALL,"Russian");
    
    int summa_zayavok_1_tipa=0, ochered=0, z1_in,z1_out,z2_time=0,n2=0;//где z1_in,z1_out - это количество вошедших и вышедших из системы 
//заявок 1 типа, z2_time - время обработки заявки второго типа, а n2 его место в очереди.
    double t1=RandD(5),t2=RandD(4), all_times=0, sr_izm=0, sr_summ=0; //t1-время поступления заявки в очередь, t2 - время поступления заявки в //ОА, all_times - общее время моделирования, sr_izm и sr_summ - количество изменений очереди и сумма очереди (для вывода средней длины очр.)
 
    z2_time=RandD(4);
    n2=RandI(4);
    all_times+=z2_time;
    sr_summ++;
    while (summa_zayavok_1_tipa!=1000)
    {
        if(n2==-10)
            n2=RandI(4);
        else n2--;
        if(n2!=0)
        {
            OA(ochered, z1_in, z1_out, t1, t2, all_times,sr_izm,sr_summ);
            summa_zayavok_1_tipa++;
        }
        else
        {
            z2_time=RandD(4);
            all_times+=z2_time;
            sr_summ--;
            n2=-10;
        }
        if ((summa_zayavok_1_tipa%100)==0)
        {
            cout << "В очереди: " << summa_zayavok_1_tipa << " заявок" <<endl;
            cout << "Средняя длина очереди: " << sr_summ/sr_izm <<endl;
        }
    }
    cout << "Общее время моделирования: " << all_times <<endl;
    cout << "Количество вошедших заявок 1-го типа:" << z1_in<< endl;
    cout << "Количество вышедших заявок 1-го типа:" << z1_out << endl;
 
    return 0;
}
 
 
double RandD(int num)
{
    return rand()*1.0/RAND_MAX*num;
}
int RandI(int num_int)
{
    return rand()*1.0/RAND_MAX*num_int;
}
void OA(int &ochered,int &z1_in,int &z1_out,double &t1,double &t2,double &AT,double &sr_izm,double &sr_summ)
{
    t1=RandD(5);
    t2=RandD(4);
    if (t1>t2)
    {
        ochered++;
        sr_summ++;
        z1_in++;
    } else if(t1<t2)
            {
                ochered--;
                sr_izm++;
                AT+=t2;
                z1_out++;
            }
                else if(t1==t2)
                     {
                        sr_summ++;
                        sr_izm++;
                        AT+=t2;
                        z1_out++;
                        z1_in++;
                     }
}
Сразу извиняюсь за качество кода, просто тороплюсь сдать прогу. Нужно сделать до завтрашнего утра. Пожалуйста помогите найти ошибку(и)...
 
Текущее время: 14:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru