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

Исследовать работу системы обслуживания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление знаков припенания из строки http://www.cyberforum.ru/cpp-beginners/thread1110750.html
Помогите добавить в конец функцию по удалению знаков препинания в строке. #include "stdafx.h" #include "iostream" #include <string> #include <algorithm> #include "vector" using namespace std;
C++ Пространства имен Помогите, пожалуйста, с заданием. Нужно описать указанные типы данных и поместить их в отдельный заголовочный файл. Аналогично поступить с функциями. Реализацию функций выполнить в отдельном... http://www.cyberforum.ru/cpp-beginners/thread1110699.html
Нахождение факториала C++
#include <iostream> #include <iomanip> #include <conio.h> using namespace std; unsigned long factroial(unsigned long); int main() { for (int counter=0;counter<=10;counter++) cout <<...
C++ Работа с СОМ-портом
Пишу программу для работы с устройством через COM-порт. Я отсылаю устройству запрос так: WriteFile(hComPort, buff, buffSize, &bytesWritten, NULL); и жду ответа от прибора. buff -- это массив типа...
C++ Найти все отрицательные элементы массива http://www.cyberforum.ru/cpp-beginners/thread1110691.html
В одномерном динамическом вещественном массиве, вводимом пользователем: 1) Найти все отрицательные элементы массива; 2) Разделить все элементы массива на количество элементов; 3) Отсортировать...
C++ Реализовать класс Complex для работы с комплексными числами. Реализовать класс Complex для работы с комплексными числами. Класс должен обеспечивать инкапсуляцию информации о действи-тельной и мнимой частях комплексного числа, а также о его модуле и амплитуде... подробнее

Показать сообщение отдельно
Kaiya
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 5

Исследовать работу системы обслуживания - C++

04.03.2014, 12:35. Просмотров 355. Ответов 2
Метки (Все метки)

Помогите пожалуйста. Скопировала код из старой книги, с++ ругается что код устарел. Помогите сделать код рабочим пожалуйста.

Исследовать работу системы обслуживания
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define RND ((float)rand()/32768.0)
 
float lg(void)
{
    float x, ARG=1e-6;
    x=RND; if(x<ARG) x+=ARG;
    return log(x);
}
 
void main()
{
    int n[2], np[2], nm[2], nmax, i, j, pp;
    float ns[2], nss, TP[2], TW[2], TM, tp[2], tw, t, ts, dt;
    static float tqq, tqs[2], tss, tq[2], tqm, st[100] [2], sum[2];
    FILE *fp;
    fp=fopen("sistem.txt","w");
    
    for(i=0; i<2; i++)
        {
        printf(" Введите TP[%d] : ", i);
        scanf("%f", &TP[i]);
        printf(" Введите TW[%d] : ", i);
        scanf("%f", &TW[i]);
        }
        printf(" Введите время моделирования TM : ");
        scanf("%f", &TM);
        
    fprintf(fp,"\n\n\t\t Исходные данные");
    fprintf(fp,"\n Интервал времени между заявками: TP[0]=%4.2f"
                " TP[1]=%4.2f", TP[0], TP[1]);
    fprintf(fp,"\n Среднее время выполнения заявок: TW[0]=%4.2f"
                " TW[1]=%4.2f", TW[0], TW[1]);
    fprintf(fp,"\n Время моделирования: TM=%6.1f", TM);
    fprintf(fp,"\n\n\t\t Результаты моделрования ");
    
  for (pp=0; pp<2; pp++)
    { srand(2501);
      for(j=0; j<2; j++)
        {
         tp[j]=-TP[j]*lg();
         np[j]=n[j]=nm[j]=0;
         sum[j]=tq[j]=0.0;
        }
      t=0.0; tw=TM; nmax=0;
      
      while(t<TM)
       {
        if(tp[0]>tp[1]) j=1;
         else j=0;
        if(tp[j]>tw) ts=tw;
         else ts=tp[j];
        dt=ts-t; t=ts;
        for(i=0; i<2; i++)
          {
            sum[i]+=dt*n[i];
            if(n[i]>nm[i]) nm[i]=n[i];
          }
        if(n[0]+n[1]>nmax)
         nmax=n[0]+n[1];
        if(ts==tp[j])
         {
          tp[j]-=TP[j]*lg(); np[j]++;
          if(tw==TM) tw=t-TW[j]*lg();
           else
             {
               if(n[j]==99)
                {
                fprintf(fp,"\n Очередь переполнена! ");
                goto end;
                }
              st[n[j]++][j]=t;
             }
          continue;
         }
         else
         {
          if(n[0]==0&&n[1]==0)
            { tw=TM; continue; }
          if(n[0]==0) j=1;
           else if(n[1]==0) j=0;
                else if(pp) j=0;
                    else if (st[0][0]<st[0][1]) j=0;
                     else j=1;
          tqq=t-st[0][j];
          if(tqq>tq[j])
            tq[j]=tqq;
          tw=t-TW[j]*lg();
          for(i=1; i<n[j]; i++)
            st[i-1][j]=st[i][j];
          n[j]--;
         }
       }
     for(j=0; j<2; j++)
      {
       tqs[j]=sum[j]/np[j];
       ns[j]=sum[j]/TM;
      }
    tss=(sum[0]+sum[1])/(np[0]+np[1]);
    nss=(sum[0]+sum[1])/TM;
    tqm=tq[0]>tq[1]? tq[0] : tq[1];
    
    if(pp==0) fprintf(fp,"\n\t Простая очередь");
     else fprintf(fp,"\n\t Приоритетная очередь");
    fprintf(fp,"\n Время ожидания: ");
    fprintf(fp,"\n среднее[0]=%5.2f среднее[1]=%5.2f "
               "  среднее=%5.2f ", tqs[0], tqs[1], tss);
    fprintf(fp,"\n max[0]=%5.2f max[1]=%5.2f "
               "  max=%5.2f ", tq[0], tq[1], tqm);
    fprintf(fp,"\n Длина очереди:");           
    fprintf(fp,"\n средняя[0]=%5.2f средняя[1]=%5.2f "
               "  средняя=%5.2f ", ns[0], ns[1], nss);
    fprintf(fp,"\n max[0]=%2d max[1]=%2d "
               "    max=%2d ", nm[0], nm[1], nmax);        
        }
      end:
        fclose(fp);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru