break;
}
event[k]=event[3];
break;
}
case 2:
{
if(taskret3>0)
{
fprintf(out,"время
t=%f терминал 3 занят получением ответа на строку
%d\n",event[k],taskret3);
event[k]+=(double)5;
event[k]+=(double)5+(double)10*generate();
taskret3=0;
break;
}
if(taskcount3!=10)
{
fprintf(out,"время t=%f строка %d поступила от терминала 3\n",event[k],++taskcount3);
a[aindex]=taskcount3;
a1[aindex++]=3;
possibility-=event[k];
event[k]+=(double)1000;
break;
}
if(taskret3==-1)
{
fprintf(out,"время
t=%f на терминале 3 начался вывод результата\n",event[k]);
taskret3=-2;
event[k]+=(double)8;
break;
}
if(taskret3==-2)
{
fprintf(out,"время
t=%f на терминале 3 закончился вывод результата\n",event[k]);
taskret3=0;
taskcount3=0;
event[k]+=(double)30;
break;
}
event[k]=event[3];
break;
}
case 3:
{
if(aindex!=0)
{
if(a1[0]==1)
{
if(a[0]==10)
{
fprintf(out,"время
t=%f ЭВМ начала решать задание от 1 терминала\n",event[k]);
event[k]+=(double)7+(double)6*generate();
possibility+=event[k];
fprintf(out,"время t=%f ЭВМ
решила задание от 1 терминала\n",event[k]);
taskret1=-1;
event[0]=event[k];
for(int
u=1;u<aindex;u++)
{
a[u-1]=a[u];
a1[u-1]=a1[u];
}
aindex--;
for(u=0;u<3;u++)
if(event[u]<event[k])
event[u]=event[k];
} else
{
fprintf(out,"время
t=%f ЭВМ вырабатывает ответ на строку %d от 1 терминала\n",event[k],a[0]);
event[k]+=(double)3;
taskret1=a[0];
event[0]=event[k];
possibility+=event[k];
for(int
u=1;u<aindex;u++)
{
a[u-1]=a[u];
a1[u-1]=a1[u];
}
aindex--;
}
break;
}
if(a1[0]==2)
{
if(a[0]==10)
{
fprintf(out,"время
t=%f ЭВМ начала решать задание от 2 терминала\n",event[k]);
event[k]+=(double)7+(double)6*generate();
possibility+=event[k];
fprintf(out,"время t=%f ЭВМ
решила задание от 2 терминала\n",event[k]);