Форум программистов, компьютерный форум 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
19.12.2013, 11:22  [ТС]
P.S. Модераторы, можете перенести тему в категорию для экспертов, может там быстрее помогут=(
Доработав прогу, вот какой она стала..
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
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <locale>
 
using namespace std;
 
double RandD(double l, double r);//функция вещественного рандома
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 &summ); //обслуживающий аппарат
int main()
{
    srand(time(NULL));
    setlocale (LC_ALL,"Russian");
    
    int summa_zayavok_1_tipa=0, ochered=0, z1_in=0,z1_out=0,n2=0,count=0;//z1_in(z1_out) - количество вошедших (и вышедших) заявок 1-го типа,n2 - место в очереди заявки 2 типа
    double t1=RandD(0,5),t2=RandD(0,4), all_times=0, sr_izm=0, sr_summ=0,z2_time=0;//sr_summ и sr_izm - это сумма очередей и количество изменений очереди(для подсчета ср.длины)
 
    z2_time=RandD(0,4);
    n2=RandI(5);
    all_times+=z2_time;
    sr_summ++;
    count++;
    while (summa_zayavok_1_tipa!=1000)
    {
        if(n2==-10)
            n2=((ochered>0)&&(ochered<4))?rand()%(5-ochered) +ochered:RandI(5);//выявления местаположения заявки второго типа
        else n2--;
        if((n2!=0)&&(n2>0))
        {
            OA(ochered, z1_in, z1_out, t1, t2, all_times,sr_izm,sr_summ,summa_zayavok_1_tipa);
            sr_izm++;
            sr_summ+=ochered;
        }
        else
        {
            z2_time=RandD(0,4);
            all_times+=z2_time;
            count++;
            n2=-10;
        }
        if (((summa_zayavok_1_tipa%100)==0)&&(summa_zayavok_1_tipa!=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;
    cout << count<<endl;
 
    return 0;
}
 
 
double RandD(double l, double r){
  int l_ = l * 10 * 10;
  int r_ = r * 10 * 10;
  return static_cast<double>(rand() % (r_ - l_) + l_) / 100;
}
int RandI(int num_int)
{
    return rand() % num_int+1;
}
void OA(int &ochered,int &z1_in,int &z1_out,double &t1,double &t2,double &AT,double &sr_izm,double &sr_summ,int &summ)
{
    t1=RandD(0,5);
    t2=RandD(0,4);
    if (t1>t2)
    {
        ochered++;
        z1_in++;
    } else if(t1<t2)
            {
                ochered--;
                AT+=t2;
                z1_out++;
                summ++;
            }
                else if(t1==t2)
                     {
                        AT+=t2;
                        z1_out++;
                        z1_in++;
                        summ++;
                     }
}
а вот результат работы, только по словам препода она не правильная(якобы среднее время обработки должно равняться другому числу и мол почему прога выдает, что обработанных заявок столько-то сотен по несколько раз):
Система массового обслуживания
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru