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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? yyyy.txt

?? 銀行家算法C語言版,可編譯.編譯環境C-C++,提供給需要的學生或老師使用.
?? TXT
字號:
/* Note:Your choice is C IDE */
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include "windows.h"
#define MAX_PROCESS 32              //最大進程數
#define MAX_COURCE 64              //最大資源類別

int MAX_FACT_PROCESS;              //實際總進程數
int MAX_FACT_COURCE;               //實際資源類別數
int Available[MAX_COURCE];                 //可利用資源向量
int Max[MAX_PROCESS][MAX_COURCE];          //最大需求矩陣
int Allocation[MAX_PROCESS][MAX_COURCE];   //分配矩陣
int Need[MAX_PROCESS][MAX_COURCE];         //需求矩陣

int Request_PROCESS;                       //發出請求的進程
int Request_COURCE;                        //被請求資源類別
int Request_COURCE_NEMBER;                 //請求資源數

struct COMP{
int value;
int num;
int next;
};
int flag=0;
void Read_Initiate(void){                             //讀入初始化文檔
ifstream infile("Initiate.txt");
   if(!infile){
cout<<"不能打開輸入文件:"<<"Initiate.txt"<<'\n';
exit(1);
}
cout<<"開始讀入初始化文檔"<<'\n';
int ch;
int Array[MAX_PROCESS*MAX_COURCE*2];
int num=0;
while(infile>>ch)
    Array[num++]=ch;
num=0;
   MAX_FACT_COURCE=Array[num++];
   for(int j=0;j<MAX_FACT_COURCE;j++)
Available[j]=Array[num++];
   MAX_FACT_PROCESS=Array[num++];
for(int i=0;i<MAX_FACT_PROCESS;i++){
for(int j=0;j<MAX_FACT_COURCE;j++)
Max[i][j]=Array[num++];
}
infile.close();
}

void Write_Initiate(void){                                  //寫入初始化文檔(分配資源
ofstream outfile("Initiate.txt");
if(!outfile){
cout<<"不能打開初始化文檔:"<<'\n';
exit(1);
}
int Array[MAX_PROCESS*MAX_COURCE*2];
int num=0;
Array[num++]=MAX_FACT_COURCE;
   for(int i=0;i<MAX_FACT_COURCE;i++)
Array[num++]=Available[i];
Array[num++]=MAX_FACT_PROCESS;
for(i=0;i<MAX_FACT_PROCESS;i++)
for(int j=0;j<MAX_FACT_COURCE;j++)
Array[num++]=Max[i][j];

num=0;
outfile<<Array[num++]<<" ";
for(i=0;i<MAX_FACT_COURCE;i++)
outfile<<Array[num++]<<" ";
outfile<<'\n'<<Array[num++]<<endl;
for(i=0;i<MAX_FACT_PROCESS;i++){
for(int j=0;j<MAX_FACT_COURCE;j++)
outfile<<Array[num++]<<" ";
outfile<<endl;
}
DWORD m_delay=3000;
Sleep(m_delay);
outfile.close();
cout<<"修改初始化文檔成功!"<<endl;
}

void Allocated_list(void){                         //讀入已分配資源列表
ifstream infile("Allocated_list.txt");
   if(!infile){
cout<<"不能打開輸入文件:"<<"Allocated_list.txt"<<'\n';
exit(1);
}
cout<<"開始讀入已分配資源列表"<<'\n';
int ch,num=0;
int Array[MAX_PROCESS*MAX_COURCE];
while(infile>>ch)
Array[num++]=ch;
num=0;
for(int i=0;i<MAX_FACT_PROCESS;i++)
for(int j=0;j<MAX_FACT_COURCE;j++)
Allocation[i][j]=Array[num++];
infile.close();
}

void Set_Need(void){                        //設置需求矩陣
cout<<"設置需求矩陣"<<'\n';
for(int i=0;i<MAX_FACT_PROCESS;i++)
for(int j=0;j<MAX_FACT_COURCE;j++)
Need[i][j]=Max[i][j]-Allocation[i][j];
}

void Read_Request(void){                           //讀入請求向量
ifstream infile("Request_list.txt");
   if(!infile){
cout<<"不能打開輸入文件:"<<"Request_list.txt"<<'\n';
exit(1);
}
   cout<<"開始讀入請求向量"<<'\n';
int Array[3];
int num=0,ch;
while(infile>>ch)
    Array[num++]=ch;
   Request_PROCESS=Array[0];
   Request_COURCE=Array[1];
   Request_COURCE_NEMBER=Array[2];
infile.close();
}

void Write_Allocation(void){                         //修改資源分配列表(資源分配)
ofstream outfile("Allocated_list.txt");
if(!outfile){
cout<<"不能打開資源分配列表:"<<'\n';
exit(1);
}
for(int i=0;i<MAX_FACT_PROCESS;i++){
for(int j=0;j<MAX_FACT_COURCE;j++)
outfile<<Allocation[i][j]<<" ";
outfile<<endl;
}
   DWORD m_delay=3000;
Sleep(m_delay);
cout<<"修改資源分配列表成功!"<<endl;
outfile.close();
}

void Allocate_Source(void){                       //開始分配(已通過掃描和安全性檢測)
cout<<'\n'<<"開始給第"<<Request_PROCESS<<"個進程分配第"<<Request_COURCE
<<"類資源"<<Request_COURCE_NEMBER<<"個"<<endl;
Write_Initiate();
Write_Allocation();
DWORD m_delay=3000;
Sleep(m_delay);
cout<<'\n'<<"祝賀您,資源分配已成功!"<<endl;
}

void Test_Safty(){                         //安全性檢測
cout<<'\n'<<"進入安全性檢測!"<<endl;
   int Work[MAX_COURCE];
for(int i=0;i<MAX_FACT_COURCE;i++){
Work[i]=Available[i];
}
   bool Finish[MAX_PROCESS][MAX_COURCE];
for(i=0;i<MAX_FACT_PROCESS;i++)
for(int j=0;j<MAX_FACT_COURCE;j++)
Finish[i][j]=false;
COMP Array[32];
for(i=0;i<MAX_FACT_PROCESS;i++)
{
Array[i].value=Need[i][Request_COURCE-1];
       Array[i].num=i;
}
for(i=0;i<MAX_FACT_PROCESS;i++)
for(int j=i+1;j<MAX_FACT_PROCESS;j++){
if(Array[i].value>=Array[j].value){
int t;
t=Array[j].value;
               Array[j].value=Array[i].value;
Array[i].value=t;
t=Array[j].num;
               Array[j].num=Array[i].num;
               Array[i].num=t;
}
else continue;
}
DWORD m_delay=3000;
Sleep(m_delay);
/*for(i=0;i<MAX_FACT_PROCESS;i++){
for(int j=0;j<MAX_FACT_COURCE;j++)
cout<<Need[i][j]<<'\t';
cout<<endl;
}
*/
if(Finish[Request_PROCESS-1][Request_COURCE-1]==false&&Need[Request_PROCESS-1][Request_COURCE-1]<=Work[Request_COURCE-1])
{
Work[Request_COURCE-1]=Work[Request_COURCE-1]+Allocation[Request_PROCESS-1][Request_COURCE-1];
       Finish[Request_PROCESS-1][Request_COURCE-1]=true;
}
else
{
cout<<"未通過安全性測試,不與以分配"<<endl;
exit(0);
}
   for(i=0;i<MAX_FACT_PROCESS;i++){
if(Array[i].num==Request_PROCESS-1)
continue;
if(Array[i].num!=Request_PROCESS-1&&Finish[Array[i].num][Request_COURCE-1]==false&&Need[Array[i].num][Request_COURCE-1]<=Work[Request_COURCE-1]){
Work[Request_COURCE-1]=Work[Request_COURCE-1]+Allocation[Array[i].num][Request_COURCE-1];
               Finish[Array[i].num][Request_COURCE-1]=true;
}
}
   for(i=0;i<MAX_FACT_PROCESS;i++)
{
if(Finish[i][Request_COURCE-1]==true)
continue;
else
{
cout<<"未通過安全性測試,不與以分配"<<endl;
   exit(0);
}
}
cout<<'\n'<<"找到一個安全序列:"<<"P"<<Request_PROCESS<<"--->";
   for(i=0;i<MAX_FACT_PROCESS;i++){
if(Array[i].num==Request_PROCESS)
continue;
else
cout<<"P"<<Array[i].num<<"--->";
}
cout<<'\n'<<"已通過安全性測試!"<<endl;
Allocate_Source();
}

void RUN(void){                                        //執行銀行家算法

   cout<<"*************************************************"<<'\n'<<"點擊1執行!"
<<'\n'<<"點擊2退出!"
<<'\n'<<"*************************************************"<<endl;
cin>>flag;
if(flag==2)
exit(0);
if(flag==1)
{
cout<<"開始掃描請求信息!"<<endl;
DWORD m_delay=3000;
Sleep(m_delay);
if(Request_COURCE_NEMBER>Need[Request_PROCESS-1][Request_COURCE-1])
{
cout<<'\n'<<"第"<<Request_PROCESS<<"個進程請求第"<<Request_COURCE<<"類資源"<<Request_COURCE_NEMBER<<"個"<<endl;
       cout<<"可是已超出該進程尚需的該類資源的最大數量,所以不予以分配!!"<<endl;
exit(0);
}
if(Request_COURCE_NEMBER>Available[Request_COURCE-1])
{
cout<<'\n'<<"第"<<Request_PROCESS<<"個進程請求第"<<Request_COURCE<<"類資源"<<Request_COURCE_NEMBER<<"個"<<endl;
       cout<<"可是系統中尚無足夠的資源,所以進入等待隊列!!"<<endl;
exit(0);
}
   else{
Available[Request_COURCE-1]=Available[Request_COURCE-1]-Request_COURCE_NEMBER;
       Allocation[Request_PROCESS-1][Request_COURCE-1]=Allocation[Request_PROCESS-1][Request_COURCE-1]+Request_COURCE_NEMBER;
       Need[Request_PROCESS-1][Request_COURCE-1]=Need[Request_PROCESS-1][Request_COURCE-1]-Request_COURCE_NEMBER;
cout<<"掃描通過"<<endl;
Sleep(m_delay);
Test_Safty();
}
}
else {
cout<<"輸入錯誤,請重新輸入!"<<'\n';
RUN();
}
}

 

void main(void){
   Read_Initiate();
cout<<MAX_FACT_COURCE<<'\t';
for(int i=0;i<MAX_FACT_COURCE;i++)
cout<<Available[i]<<'\t';
cout<<endl<<MAX_FACT_PROCESS<<endl;
for(i=0;i<MAX_FACT_PROCESS;i++){
for(int j=0;j<MAX_FACT_COURCE;j++)
cout<<Max[i][j]<<'\t';
cout<<endl;
}
DWORD m_delay=3000;
Sleep(m_delay);
cout<<"讀入成功"<<'\n';

Allocated_list();
for(i=0;i<MAX_FACT_PROCESS;i++){
for(int j=0;j<MAX_FACT_COURCE;j++)
cout<<Allocation[i][j]<<'\t';
cout<<endl;
}
Sleep(m_delay);
cout<<"讀入成功"<<'\n';

Set_Need();
   for(i=0;i<MAX_FACT_PROCESS;i++){
for(int j=0;j<MAX_FACT_COURCE;j++)
cout<<Need[i][j]<<'\t';
cout<<endl;
}
   Sleep(m_delay);
cout<<"設置成功"<<'\n';

   Read_Request();
cout<<'\n'<<"第"<<Request_PROCESS<<"個進程請求第"<<Request_COURCE<<"類資源"<<Request_COURCE_NEMBER<<"個"<<endl;
cout<<'\n'<<"讀入成功"<<'\n';

RUN();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区不卡| 欧美在线啊v一区| 青青草视频一区| 视频一区视频二区中文| 午夜在线成人av| 日本一区中文字幕| 日韩二区在线观看| 久久精品国产亚洲aⅴ| 国产在线精品一区在线观看麻豆| 狠狠色丁香婷婷综合| 国产一区二区三区久久悠悠色av| 国产精品 日产精品 欧美精品| 国产乱码精品1区2区3区| 成人自拍视频在线观看| 91农村精品一区二区在线| 91成人在线免费观看| 欧美日韩卡一卡二| 欧美一级xxx| 国产精品三级久久久久三级| 中文一区在线播放| 亚洲国产精品一区二区久久| 日本免费在线视频不卡一不卡二| 韩国av一区二区| 波多野结衣视频一区| 欧洲人成人精品| 精品日韩欧美一区二区| 国产精品伦理在线| 亚洲成av人**亚洲成av**| 国产电影一区二区三区| 色先锋资源久久综合| 日韩视频一区二区三区| 欧美激情一区二区三区| 亚洲aaa精品| 国产精品一卡二卡在线观看| 91在线视频网址| 欧美一卡2卡3卡4卡| 国产精品视频一区二区三区不卡| 亚洲国产精品一区二区www在线| 久久97超碰色| 91福利国产精品| 欧美国产精品专区| 香蕉久久一区二区不卡无毒影院 | 久久精品国产精品青草| voyeur盗摄精品| 日韩欧美一级精品久久| 亚洲免费观看高清完整版在线观看| 日本欧洲一区二区| 欧美中文字幕一区| 国产精品国产馆在线真实露脸 | 亚洲欧美激情小说另类| 国内一区二区在线| 欧美精品一卡二卡| 亚洲欧洲精品一区二区精品久久久| 美女视频黄免费的久久| 欧美三级韩国三级日本一级| 中文字幕日本不卡| 国产九色sp调教91| 欧美精品一区视频| 男人的j进女人的j一区| 欧美丝袜丝交足nylons图片| 国产精品久久三区| 成人午夜又粗又硬又大| 国产拍揄自揄精品视频麻豆| 老司机午夜精品| 欧美精品第一页| 午夜成人免费电影| 欧美日韩国产另类不卡| 亚洲成人av电影| 欧美日韩色综合| 亚洲va欧美va天堂v国产综合| 91丨porny丨首页| 综合久久综合久久| 99精品偷自拍| 一区二区免费在线| 欧美日韩一二三区| 午夜私人影院久久久久| 3751色影院一区二区三区| 日韩精品国产欧美| 日韩无一区二区| 国产一区二区三区美女| 欧美激情综合五月色丁香| 岛国一区二区三区| 中文字幕日韩精品一区| 在线亚洲精品福利网址导航| 性久久久久久久久久久久| 欧美一区二区视频观看视频| 激情文学综合网| 中文字幕精品一区二区精品绿巨人| 成人免费视频一区二区| 亚洲欧美一区二区三区久本道91 | 欧美色视频一区| 天天色综合天天| 欧美成人一区二区三区| 粉嫩高潮美女一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟 | 色婷婷久久久综合中文字幕 | 精品一区二区三区日韩| 久久久久高清精品| 99久久精品99国产精品| 日韩av一级片| 日本一区二区三区久久久久久久久不| 91老师片黄在线观看| 日本最新不卡在线| 国产网站一区二区| 欧美午夜精品久久久久久超碰| 青青国产91久久久久久| 中文字幕亚洲精品在线观看| 欧美日韩高清在线| 国产99一区视频免费| 亚洲激情av在线| 久久男人中文字幕资源站| 色美美综合视频| 国产制服丝袜一区| 亚洲一区电影777| 中文字幕av一区二区三区高| 欧美日本一区二区三区四区| 国产精品一级片| 奇米四色…亚洲| 一区二区三区日韩在线观看| 欧美精品一区二区三区久久久| 欧洲一区二区三区免费视频| 国产麻豆视频一区| 视频一区欧美精品| 亚洲日本免费电影| 久久久久久毛片| 日韩三级高清在线| 欧美日韩中文精品| 97成人超碰视| 成人app网站| 国产精品自拍网站| 麻豆专区一区二区三区四区五区| 一区二区三区毛片| 1000精品久久久久久久久| 久久精品日产第一区二区三区高清版| 欧美日韩激情一区二区三区| 色婷婷一区二区三区四区| 成人小视频免费观看| 国产成人无遮挡在线视频| 免费精品视频最新在线| 天天亚洲美女在线视频| 一个色妞综合视频在线观看| 亚洲人成亚洲人成在线观看图片| 国产日韩av一区二区| 久久久久久久性| 26uuu精品一区二区| 精品久久人人做人人爰| 日韩一区二区麻豆国产| 欧美一区二区成人| 日韩小视频在线观看专区| 在线成人小视频| 777xxx欧美| 日韩午夜精品视频| 欧美精品一区二区三区视频| 精品成人一区二区三区四区| 精品国产一区二区三区久久影院 | 天天操天天色综合| 亚洲高清视频的网址| 亚洲国产成人高清精品| 亚洲高清免费在线| 丝袜美腿亚洲综合| 热久久免费视频| 国产九九视频一区二区三区| 国产精品一品视频| av午夜精品一区二区三区| 91婷婷韩国欧美一区二区| 色综合久久精品| 欧美猛男男办公室激情| 在线综合+亚洲+欧美中文字幕| 欧美一区二区精美| 久久久久国产精品人| 欧美国产精品一区| 一区二区三区在线视频观看| 视频一区视频二区中文| 精品亚洲成a人| 成人免费视频视频| 欧美日韩一二区| www日韩大片| 亚洲欧美另类综合偷拍| 亚洲成人激情av| 国产一区二区三区美女| 99久久er热在这里只有精品15| 欧美亚洲综合网| 精品国产伦一区二区三区免费 | 日韩影院精彩在线| 国产精品综合二区| 91久久精品网| 久久久久久免费| 午夜精品在线视频一区| 国产精品88av| 欧美日韩国产成人在线免费| 日韩丝袜美女视频| 亚洲男同性视频| 精品一区二区三区av| 色婷婷av久久久久久久| 精品国产sm最大网站| 一区二区高清视频在线观看| 国产精品91xxx| 欧美一级二级三级蜜桃| 一区二区三区日本| 处破女av一区二区|