Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include "math.h"
- #include "stdio.h"
- #include "stdlib.h"
- #include "conio.h"
- #include <Windows.h>
- using namespace std;
- int main()
- {
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- double lyambda = 0, mu = 0, time, Tobsl = 0, t = 0, Ivh, Iobsl, Po, A, KolKan, Potk, Q;
- int Cz = 0, Co = 0, Cobsl = 0, S = 0, kol;
- cout << "Введите интенсивность потока: ";
- cin >> Ivh;
- cout << "Введите интенсивность потока обслуживания: ";
- cin >> Iobsl;
- cout << "Введите количество прогонов: ";
- cin >> kol;
- cout << "\n";
- for (int i = 1; i <= kol; i++)
- {
- cout << "Прогон " << i << ":\n";
- cout << "Введите время работы системы: ";
- cin >> time;
- do
- {
- if (S == 0)
- {
- lyambda = (-1)*log((rand() % 1000 + 1) / 1000.0 + 0.001) / Ivh;
- S = 1;
- t += lyambda;
- Cz++;
- Cobsl++;
- }
- if (S == 1)
- {
- lyambda = (-1)*log((rand() % 1000 + 1) / 1000.0 + 0.001) / Ivh;
- mu = (-1)*log((rand() % 1000 + 1) / 1000.0 + 0.001) / Iobsl;
- if (lyambda < mu)
- {
- S = 2;
- t += lyambda;
- Cz++;
- Cobsl++;
- Tobsl += lyambda;
- }
- else
- {
- S = 0;
- t += mu;
- Tobsl += mu;
- }
- }
- if (S == 2)
- {
- lyambda = (-1)*log((rand() % 1000 + 1) / 1000.0 + 0.001) / Ivh;
- mu = (-1)*log((rand() % 1000 + 1) / 1000.0 + 0.001) / Iobsl;
- if (lyambda < mu)
- {
- S = 2;
- t += lyambda;
- Cz++;
- Co++;
- Tobsl += lyambda;
- }
- else
- {
- S = 1;
- t += mu;
- Tobsl += mu;
- }
- }
- } while (t < time);
- Po = (time - Tobsl) / 2 / time;
- Potk = (double)Co / (double)Cz;
- Q = (double)Cobsl / (double)Cz;
- A = (double)Cobsl / time;
- KolKan = (time - Tobsl) / time;
- cout << "Количество заявок: " << Cz << "\n";
- cout << "Количество обслуженных заявок: " << Cobsl << "\n";
- cout << "Отказано " << Co << " заявке(ам)\n";
- cout << "Вероятность простоя: " << Po << "\n";
- cout << "Вероятность отказа: " << Potk << "\n";
- cout << "Доля обслуженных заявок: " << Q << "\n";
- cout << "Абсолютная пропускная способность: " << A << "\n";
- cout << "Среднее число занятых каналов: " << KolKan << "\n\n";
- }
- //getch();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement