Êóðñîâàÿ ðàáîòà: Ðàçðàáîòêà ñðåäñòâ ìîäåëèðîâàíèÿ ñèñòåì
cin>>m;
if(m>uzel)
{
cout<<"ÂÂåäåíî
íåâåðíî!!!\n";
goto M2;
}
for(int i=1;i<m;i++)
matrix.push_back(0);
cout<<"Âåðîÿòíîñòü: ";
cin>>x;
matrix.push_back(x);
M3:
cout<<"Âòîðîé óçåë:
";
cin>>k;
if(k>uzel)
{
cout<<"ÂÂåäåíî
íåâåðíî!!!\n";
goto M3;
}
for(int i=m+1;i<k;i++)
matrix.push_back(0);
matrix.push_back(1-x);
for(int i=k+1;i<=uzel;i++)
matrix.push_back(0);
}
else
if(n==5)
for(int i=0;i<uzel;i++)
matrix.push_back(0);
else
{
M4:
cout<<"Íà êàêîé óçåë èäåò:
";
cin>>m;
if(m>uzel)
{
cout<<"ÂÂåäåíî
íåâåðíî!!!\n";
goto M4;
}
for(int i=1;i<m;i++)
matrix.push_back(0);
matrix.push_back(1);
for(int i=m+1;i<=uzel;i++)
matrix.push_back(0);
}
system("cls");
}
}
void Programma()
{
int n,uzel1=0,uzel2=0,uzel;
float ver;
bool b;
ostringstream Proga;
Matrix();
uzel=oper.size();
for(int i=0;i<uzel;i++)
ukazat.push_back(0);
Proga<<GENERATE();
for(int i=0;i<uzel;i++)
{
if(matrix[(uzel-1)*uzel+i]>0)
ukazat[i]=i+1;
if(ukazat[i]==0)
for(int j=i;j<uzel;j++)
if(matrix[j*uzel+i]>0)
ukazat[i]=i+1;
}
for(int i=1;i<uzel;i++)
{
cout<<"Óçåë "<<i+1<<endl;
switch(oper[i])
{
case 1:
break;
case 2:
Proga<<SEIZE(ukazat[i]);
break;
case 3:
Proga<<ENTER(ukazat[i]);
break;
case 4:
uzel1=0;
for(int j=0;j<uzel;j++)
if
(matrix[i*uzel+j]>0)
if(uzel1==0)
{
uzel1=j+1;
ver=matrix[i*uzel+j];
}
else uzel2=j+1;
ukazat[uzel1-1]=uzel1;
ukazat[uzel2-1]=uzel2;
Proga<<TRANSFER(ukazat[i],ver,uzel1,uzel2);
break;
case 5:
Proga<<TERMINATE(ukazat[i]);
break;
default: break;
}
if(oper[i]!=5)
{
n=0;
for(int j=0;j<uzel;j++)
if
((matrix[i*uzel+j]>0))
for(int
l=0;l<uzel;l++)
{
if((matrix[l*uzel+j]>0)&&(oper[l]!=4))
n++;
if(n>1)
{
Proga<<"TRANSFER
,U_"<<j+1<<endl;
ukazat[j]=j+1;
n=0;
}
}
}
}
file<<Proga.str();
file.close();
cout<<"\n\n\n\n\n\n\n\n\t#####################################################\n";
cout<<"\t## Ðàáîòà ïðîãðàììû
çàêîí÷åíà! ##\n";
cout<<"\t## Tåêñò ïðîãðàììû íàõîäèòñÿ
â ôàéëå GPSStext.txt! ##\n";
cout<<"\t#####################################################\n";
}
};
int main()
{
setlocale(LC_ALL,"");
GPSSText T;
T.Programma();
system("pause");
return 0;
}
|