亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? unit1.~cpp

?? 可以簡(jiǎn)單計(jì)算petri網(wǎng)的狀態(tài)空間,用來(lái)分析petri網(wǎng)的特性
?? ~CPP
字號(hào):
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
    this->Label1->Caption = "請(qǐng)輸入位置(Place)的數(shù)目: N(小于10)=";
    this->Edit1->Text = "";

    this->Label2->Caption = "請(qǐng)輸入過(guò)渡(Tansition)的數(shù)目: M(小于10)=";
    this->Edit2->Text = "";

    GroupBox1->Align=alClient;
    GroupBox2->Align=alClient;
    GroupBox3->Align=alClient;
    GroupBox2->Visible = false;
    GroupBox3->Visible = false;
    this->Width = 600;
    this->Height = 250;

}


//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
    if( Key != 8 )
    {
      if( (Key<'0' || Key>'9') || (Key=='0' && Edit1->Text.Length() == 0) )
       {
            Key = 0;
            MessageBeep(MB_OK);
       }
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
{
   if( Key != 8 )
    {
      if( (Key<'0' || Key>'9') || (Key=='0' && Edit2->Text.Length() == 0) )
       {
            Key = 0;
            MessageBeep(MB_OK);
       }
    }
}
//----------------------------------------------------------------------------
void __fastcall TForm1::Edit3KeyPress(TObject *Sender, char &Key)
{
   if( Key != 8 )
    {
      if( Key<'0' || Key>'9' )
       {
            Key = 0;
            MessageBeep(MB_OK);
       }
    }
}
//-----------------------------------------------------------------------------
void __fastcall TForm1::EditKeyPress(TObject *Sender, char &Key)
{
    if( Key != 8 )
    {
      if(Key<'0' || Key>'1') 
       {
            Key = 0;
            MessageBeep(MB_OK);
       }
    }
}

//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    this->Edit1->Text = "";
    this->Edit2->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     if( Edit1->Text.Length() == 0 || Edit2->Text.Length() == 0)
     {
        MessageBox(this->Handle, "輸入數(shù)據(jù)為空!請(qǐng)重輸!", "錯(cuò)誤", 0);
        return;
     }
     
     n = Edit1->Text.ToInt();
     m = Edit2->Text.ToInt();

     this->Height = 400 + 40*m ;
     this->Width  = (100 + 70*n >600)?100 + 70*n:600;
     this->Button3->Top = 300 + 40*m ;
     this->Button3->Left = this->Width-200 ;

     for(int i=0; i<500; i++)
        for(int j=0; j<MaxN; j++)
            StatusSpace[i][j] = 0;
     
     Label3->Caption = "請(qǐng)逐個(gè)輸入每個(gè)過(guò)渡的輸入位置,是輸入位置用1表示,反之用0表示:";
     Label4->Caption = "請(qǐng)逐個(gè)輸入每個(gè)過(guò)渡的輸出位置,是輸出位置用1表示,反之用0表示:";
     Label4->Left = 40;
     Label4->Top = 100+20*m;
     Label5->Caption = "請(qǐng)逐個(gè)輸入每個(gè)位置的Token數(shù):";
     Label5->Left = 40;
     Label5->Top = 195+40*m;
     Label6->Caption = "請(qǐng)輸入狀態(tài)轉(zhuǎn)移的你想要的最大深度:";
     Label6->Left = 40;
     Label6->Top = 300+40*m;
     Edit3->Left = 270;
     Edit3->Top = 300+40*m;
     GroupBox1->Visible = false;
     GroupBox2->Visible = true;
     EditIn.Length  = m;
     EditOut.Length = m;
     EditToken.Length = n;
     LabelIn.Length  = m;
     LabelOut.Length = m;
     LabelPlaceIn.Length = n;
     LabelPlaceOut.Length = n;
     LabelPlaceToken.Length = n;

     for(int i=0; i<n; i++)
     {
        LabelPlaceIn[i]  = new TLabel(this);
        LabelPlaceIn[i]->Parent =  GroupBox2;
        LabelPlaceIn[i]->Caption = "位置" + String(i+1);
        LabelPlaceIn[i]->Height = 20;
        LabelPlaceIn[i]->Width = 50;
        LabelPlaceIn[i]->Top =  60;
        LabelPlaceIn[i]->Left = 50+i*70;
        
        LabelPlaceOut[i] = new TLabel(this);
        LabelPlaceOut[i]->Parent =  GroupBox2;
        LabelPlaceOut[i]->Caption = "位置" + String(i+1);
        LabelPlaceOut[i]->Height = 20;
        LabelPlaceOut[i]->Width = 50;
        LabelPlaceOut[i]->Top =  125+20*m;
        LabelPlaceOut[i]->Left = 50+i*70;

        LabelPlaceToken[i] = new TLabel(this);
        LabelPlaceToken[i]->Parent =  GroupBox2;
        LabelPlaceToken[i]->Caption = "位置" + String(i+1);
        LabelPlaceToken[i]->Height = 20;
        LabelPlaceToken[i]->Width = 50;
        LabelPlaceToken[i]->Top =  220+40*m;
        LabelPlaceToken[i]->Left = 50+i*70;

        EditToken[i] = new TEdit(this);
        EditToken[i]->Name = "EditToken" + String(i+1);
        EditToken[i]->Parent = GroupBox2;
        EditToken[i]->Text = "0";
        EditToken[i]->Width = 50;
        EditToken[i]->Height = 20;
        EditToken[i]->Top  = 240+40*m;
        EditToken[i]->Left = 50+i*70;
        EditToken[i]->Visible = true;
        EditToken[i]->MaxLength = 2;
        EditToken[i]->OnKeyPress = Edit3KeyPress;


     }

     for(int i=0; i<m; i++)
     {
        EditIn[i].Length  = n;
        EditOut[i].Length = n;

        LabelIn[i]  = new TLabel(this);
        LabelIn[i]->Parent =  GroupBox2;
        LabelIn[i]->Caption = "過(guò)渡" + String(i+1);
        LabelIn[i]->Height = 20;
        LabelIn[i]->Width = 50;
        LabelIn[i]->Top = 85+i*20;
        LabelIn[i]->Left = 10;

        LabelOut[i] = new TLabel(this);
        LabelOut[i]->Parent =  GroupBox2;
        LabelOut[i]->Caption = "過(guò)渡" + String(i+1);
        LabelOut[i]->Height = 20;
        LabelOut[i]->Width = 50;
        LabelOut[i]->Top = 155+20*m+i*20;
        LabelOut[i]->Left = 10;

        for(int j=0; j<n; j++)
        {
            EditIn[i][j] = new TEdit(this);
            EditIn[i][j]->Name = "EditIn" + String(i) + String(j);
            EditIn[i][j]->Parent = GroupBox2;
            EditIn[i][j]->Text = "0";
            EditIn[i][j]->Width = 50;
            EditIn[i][j]->Height = 20;
            EditIn[i][j]->Top  = 80+i*20;
            EditIn[i][j]->Left = 50+j*70;
            EditIn[i][j]->Visible = true;
            EditIn[i][j]->MaxLength = 1;
            EditIn[i][j]->OnKeyPress = EditKeyPress;

            EditOut[i][j] = new TEdit(this);
            EditOut[i][j]->Name = "EditOut" + String(i) + String(j);
            EditOut[i][j]->Parent = GroupBox2;
            EditOut[i][j]->Text = "0";
            EditOut[i][j]->Width = 50;
            EditOut[i][j]->Height = 20;
            EditOut[i][j]->Top  = 150+20*m+i*20;
            EditOut[i][j]->Left = 50+j*70;
            EditOut[i][j]->Visible = true;
            EditOut[i][j]->MaxLength = 1;
            EditOut[i][j]->OnKeyPress = EditKeyPress;
         }
     }

}

//---------------------------------------------------------------------------
bool __fastcall TForm1::CanFire(int T, int Current)
{ //判斷當(dāng)前過(guò)渡T在 當(dāng)前狀態(tài)Current下能否被點(diǎn)燃
   for(int i=0; i<n; i++)
   {
      int temp = EditIn[T][i]->Text.ToInt(); //是T的輸入位置
      if( (temp == 1) && (StatusSpace[Current][i] == 0) ) //但當(dāng)前狀態(tài)該位置沒(méi)有Token
                   return false;
   }

   return true;

}
//-------------------------------------------------------------------------
bool __fastcall TForm1::IsRepeat(int t)
{  //判斷t位置的狀態(tài)是否與它前面的狀態(tài)有重復(fù)
   int i,j;
   for( i=0; i<t; i++)
   {
      for( j=0; j<n; j+=1)
        {  if(StatusSpace[t][j] != StatusSpace[i][j])   break;  }
      if( j==n )  return true;
   }

   return false;


}
//--------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
    for(int i=0; i<m; i++)
    {
       for(int j=0; j<n; j++)
       {
          if( EditIn[i][j]->Text == "" || EditOut[i][j]->Text == "" )
          {
               MessageBox(this->Handle, "數(shù)據(jù)輸入不完整!", "錯(cuò)誤", 0);
               return;
          }
       }
    }

    for(int i=0; i<n; i++)
    {
       if(EditToken[i]->Text == "")
       {
               MessageBox(this->Handle, "數(shù)據(jù)輸入不完整!", "錯(cuò)誤", 0);
               return;
       }
    }

    if(Edit3->Text == "")
    {
          MessageBox(this->Handle, "數(shù)據(jù)輸入不完整!", "錯(cuò)誤", 0);
          return;
    }

    if(Edit3->Text.ToInt()>20)
    {
          MessageBox(this->Handle, "你需要計(jì)算的深度過(guò)大!請(qǐng)改小點(diǎn)!", "錯(cuò)誤", 0);
          return;
    }

    int depth, start, end, total;
    depth=start=end=0;
    total=1;

    for(int i=0; i<n; i++)   StatusSpace[0][i] = EditToken[i]->Text.ToInt();

    while(depth<Edit3->Text.ToInt())
    {
       for(int i=start; i<=end; i++)
       {
           for(int j=0; j<m; j++)//對(duì)每一個(gè)過(guò)渡
           {
               if( CanFire(j,i) )//該過(guò)渡能被點(diǎn)燃
               {
                    for(int s=0; s<n; s++) //復(fù)制當(dāng)前狀態(tài)
                            StatusSpace[total][s] = StatusSpace[i][s];
                    for(int k=0; k<n; k++) //修改輸入輸出位置的Token
                    {
                        if(EditIn[j][k]->Text.ToInt()==1)//是該過(guò)渡的輸入
                            StatusSpace[total][k] -= 1;  //失去Token
                        if(EditOut[j][k]->Text.ToInt()==1)//是該過(guò)渡的輸出
                            StatusSpace[total][k] += 1;  //得到Token
                    }
                    
                    StatusSpace[total][n]  = i;  //保存狀態(tài)轉(zhuǎn)移的原狀態(tài)
                    StatusSpace[total][n+1]= j ;    //保存狀態(tài)轉(zhuǎn)移的經(jīng)過(guò)的過(guò)渡

                    if(!IsRepeat(total))   total += 1;  //沒(méi)有與以前的狀態(tài)重復(fù)就保存
               }
           }//當(dāng)前狀態(tài)所有過(guò)渡都已經(jīng)處理完畢
       }//該層已經(jīng)處理完畢
       if( end+1 == total )   break;  //沒(méi)有生成新的狀態(tài)
       start = end+1;
       end   = total-1;  //設(shè)置新的開(kāi)始位置與結(jié)束位置
       depth += 1;
    }

    GroupBox1->Visible = false;
    GroupBox3->Visible = true;
    GroupBox2->Visible = false;
    this->Width = 800;

    TListItem *NewItem;
    NewItem = Form1->ListView1->Items->Add();
    NewItem->Caption = "初始狀態(tài):U" + String(0);
    AnsiString s;
    for(int i=0; i<n; i++)  s = s + AnsiString(StatusSpace[0][i]) + "--";
    NewItem->SubItems->Add(s);

    for(int i=1; i<total; i++)
    {
        NewItem = Form1->ListView1->Items->Add();
        int j=StatusSpace[i][n+1]; //原來(lái)過(guò)渡
        AnsiString s1 ;
        s1 = "T" + AnsiString(j+1); 
        int k = StatusSpace[i][n];  //原來(lái)狀態(tài)
        while(k>0)
        {
           s1.Insert("T" + AnsiString(StatusSpace[k][n+1]+1) + "-->" , 0);
           k =  StatusSpace[k][n];
        }
        s1.Insert("狀態(tài):U" + AnsiString(i) + ">>", 0);
        NewItem->Caption = s1;
        AnsiString s2;
        for(int x=0; x<n; x++)  s2 = s2 + AnsiString(StatusSpace[i][x]) + "--";
        NewItem->SubItems->Add(s2);
    }

    
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
      for(int i=0; i<m; i++)
      {
         delete LabelIn[i];
         delete LabelOut[i];
         for(int j=0; j<n; j++)
         {
              delete EditIn[i][j];
              delete EditOut[i][j];
         }
      }

      for(int i=0; i<n; i++)
      {
         delete LabelPlaceIn[i];
         delete LabelPlaceOut[i];
         delete LabelPlaceToken;
         delete EditToken;

      }
}
//---------------------------------------------------------------------------

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频一区在线观看| 国产成人综合视频| 中日韩免费视频中文字幕| 91久久香蕉国产日韩欧美9色| 奇米一区二区三区| 亚洲色图制服诱惑| 国产午夜精品一区二区三区四区| 欧美日本乱大交xxxxx| caoporen国产精品视频| 蜜桃av一区二区在线观看| 亚洲国产日韩在线一区模特 | 久久综合九色综合久久久精品综合| 99久久精品久久久久久清纯| 久久se精品一区精品二区| 亚洲一区在线电影| 亚洲手机成人高清视频| 日本一区二区成人| 精品日本一线二线三线不卡| 欧美午夜电影一区| 色婷婷久久久久swag精品| 国产成人精品在线看| 久久99热国产| 日韩国产高清在线| 亚洲午夜视频在线观看| 亚洲人成亚洲人成在线观看图片| xnxx国产精品| 精品久久久影院| 日韩一区二区在线免费观看| 欧美午夜精品一区二区蜜桃| 99国产精品久久久久久久久久久| 国产在线不卡视频| 国产乱人伦偷精品视频不卡| 精品影院一区二区久久久| 日韩高清一区在线| 日韩黄色免费电影| 日韩1区2区3区| 天堂精品中文字幕在线| 亚洲www啪成人一区二区麻豆| 一卡二卡三卡日韩欧美| 一区二区三区在线看| 最新高清无码专区| 亚洲精品视频在线观看免费| 亚洲精品福利视频网站| 亚洲男人的天堂在线观看| 亚洲男女毛片无遮挡| 亚洲男人天堂av网| 亚洲一区二区精品久久av| 亚洲一区二区欧美激情| 天天综合天天做天天综合| 日本在线不卡一区| 麻豆一区二区三| 激情六月婷婷综合| 成人av资源站| 91久久精品一区二区三| 欧美日韩精品一区二区三区四区 | 欧美在线观看18| 91麻豆精品久久久久蜜臀| 日韩一区二区电影| 国产欧美精品国产国产专区| 日韩一区在线播放| 亚洲国产另类av| 久久国产精品99精品国产| 国产精品一区免费在线观看| 成人美女在线视频| 欧美日韩综合色| 欧美精品一区二区在线观看| 国产精品久久毛片a| 悠悠色在线精品| 美女一区二区视频| 国产激情一区二区三区桃花岛亚洲| 成人小视频免费在线观看| 一本一道综合狠狠老| 欧美一区在线视频| 中文字幕精品一区二区三区精品| 亚洲欧美日韩一区二区三区在线观看| 午夜精品123| 国产精品一区二区无线| 色综合天天天天做夜夜夜夜做| 欧美人狂配大交3d怪物一区| 久久久久久97三级| 亚洲综合久久久| 国产美女娇喘av呻吟久久| 91麻豆高清视频| 日韩欧美三级在线| 一个色妞综合视频在线观看| 久久精品国产第一区二区三区| 国产精品自产自拍| 欧美精品色综合| 国产日韩三级在线| 五月天网站亚洲| jlzzjlzz亚洲女人18| 日韩午夜精品视频| 亚洲精品国产a| 国产成人午夜精品5599| 欧美福利一区二区| 国产精品久线在线观看| 六月丁香婷婷久久| 欧美日韩一区二区三区不卡 | 午夜精品一区二区三区免费视频| 精品一区二区三区视频在线观看| 91传媒视频在线播放| 国产日产精品一区| 免费成人av在线播放| 色狠狠桃花综合| 国产无人区一区二区三区| 亚洲午夜免费视频| 成人国产电影网| 国产日韩av一区二区| 蜜臀久久久久久久| 欧美日韩国产免费一区二区| 亚洲欧美日韩国产综合| 成人午夜碰碰视频| 久久久久久久久久久久久久久99| 天堂在线一区二区| 欧美视频在线一区| 亚洲三级在线观看| 成人黄页毛片网站| 久久久不卡网国产精品二区| 免费人成网站在线观看欧美高清| 欧美色网站导航| 亚洲精品亚洲人成人网在线播放| 不卡的av中国片| 国产精品毛片大码女人| 国产剧情一区二区三区| 精品国产乱子伦一区| 蜜桃av噜噜一区二区三区小说| 欧美乱熟臀69xxxxxx| 亚洲另类一区二区| 色88888久久久久久影院按摩| 亚洲欧美综合另类在线卡通| 成人一区二区三区在线观看| 国产亚洲精品7777| 懂色中文一区二区在线播放| 久久日一线二线三线suv| 国产综合色在线视频区| 精品日本一线二线三线不卡| 久久99热国产| 国产色综合一区| 丁香桃色午夜亚洲一区二区三区| 欧美国产精品久久| 99视频一区二区| 亚洲一区二区综合| 欧美群妇大交群中文字幕| 三级一区在线视频先锋 | 亚洲国产精品久久久男人的天堂| 色欧美日韩亚洲| 亚洲国产精品一区二区久久| 精品视频色一区| 蜜臀久久久99精品久久久久久| 日韩欧美aaaaaa| 国产自产高清不卡| 国产精品女上位| 色综合天天综合网天天看片| 亚洲国产视频一区| 日韩欧美色综合| 成人激情动漫在线观看| 亚洲精品欧美激情| 欧美精品粉嫩高潮一区二区| 久久国产尿小便嘘嘘尿| 中文在线资源观看网站视频免费不卡| 91视频你懂的| 热久久免费视频| 日本一区二区视频在线观看| 91麻豆国产福利精品| 日本aⅴ免费视频一区二区三区 | 精品污污网站免费看| 日本三级亚洲精品| 久久久久久久久伊人| 一本大道av一区二区在线播放| 日韩精品久久久久久| 欧美精品一区二区三区很污很色的 | 久久99国产乱子伦精品免费| 日本一区二区三区在线观看| 欧美性受xxxx黑人xyx性爽| 免费高清不卡av| 中文字幕一区二区三区蜜月| 777久久久精品| 成人精品视频网站| 午夜精品一区在线观看| 国产欧美日韩视频一区二区| 欧美亚一区二区| 国产一区二区三区国产| 亚洲一区二区三区在线| 久久久精品免费网站| 欧美在线高清视频| 成人在线视频一区二区| 日韩国产欧美一区二区三区| 欧美国产国产综合| 日韩一区二区在线观看视频 | 久久综合国产精品| 欧美性淫爽ww久久久久无| 夫妻av一区二区| 日本视频免费一区| 樱花影视一区二区| 国产精品三级电影| 久久综合一区二区| 欧美日韩不卡在线| 色婷婷综合久色| 成人午夜私人影院| 黄一区二区三区|