Mới xin được code thuật giải nhà băng trên mạng.Thảo khảo chơi nha
2 posters
Trang 1 trong tổng số 1 trang
Mới xin được code thuật giải nhà băng trên mạng.Thảo khảo chơi nha
#include
#define MAX 20
class bankers
{
private:
int al[MAX][MAX],m[MAX][MAX],n[MAX][MAX],avail[MAX];
int nop,nor,k,result[MAX],pnum,work[MAX],finish[MAX];
public:
bankers();
void input();
void method();
int search(int);
void display();
};
bankers::bankers()
{
k=0;
for(int i=0;i {
for(int j=0;j {
al[i][j]=0;
m[i][j]=0;
n[i][j]=0;
}
avail[i]=0;
result[i]=0;
finish[i]=0;
}
}
void bankers::input()
{
int i,j;
cout<>nop;
cout<>nor;
cout<<”Enter the allocated resources for each process: “< for(i=0;i {
cout<<”\nProcess “<for(j=0;j {
cout<<”\nResource “<al[i][j];
}
}
cout<<”Enter the maximum resources that are needed for each process: “< for(i=0;i {
cout<<”\nProcess “<for(j=0;j {
cout<<”\nResouce “<m[i][j];
n[i][j]=m[i][j]-al[i][j];
}
}
cout<<”Enter the currently available resources in the system: “;
for(j=0;j {
cout<<”Resource “<avail[j];
work[j]=-1;
}
for(i=0;i finish[i]=0;
}
void bankers::method()
{
int i=0,j,flag;
while(1)
{
if(finish[i]==0)
{
pnum =search(i);
if(pnum!=-1)
{
result[k++]=i;
finish[i]=1;
for(j=0;j {
avail[j]=avail[j]+al[i][j];
}
}
}
i++;
if(i==nop)
{
flag=0;
for(j=0;j if(avail[j]!=work[j])
flag=1;
for(j=0;j work[j]=avail[j];
if(flag==0)
break;
else
i=0;
}
}
}
int bankers::search(int i)
{
int j;
for(j=0;javail[j])
return -1;
return 0;
}
void bankers::display()
{
int i,j;
cout< cout< cout< for(i=0;i {
cout<<”\nP”<for(j=0;j {
cout< }
cout<<”\t “;
for (j=0;j {
cout< }
cout<<”\t “;
for(j=0;j {
cout< }
}
cout<<”\nThe sequence of the safe processes are: \n”;
for(i=0;i {
int temp = result[i]+1 ;
cout<<”P”< }
cout<<”\nThe sequence of unsafe processes are: \n”;
int flg=0;
for (i=0;i {
if(finish[i]==0)
{
flg=1;
}
cout<<”P”<}
cout< cout< if(flg==1)
cout< else
cout< }
int main()
{
clrscr();
cout<<” DEADLOCK BANKER’S ALGORITHM “< bankers B;
B.input ( );
B.method ( );
B.display ( );
getch ( );
}
#define MAX 20
class bankers
{
private:
int al[MAX][MAX],m[MAX][MAX],n[MAX][MAX],avail[MAX];
int nop,nor,k,result[MAX],pnum,work[MAX],finish[MAX];
public:
bankers();
void input();
void method();
int search(int);
void display();
};
bankers::bankers()
{
k=0;
for(int i=0;i
for(int j=0;j
al[i][j]=0;
m[i][j]=0;
n[i][j]=0;
}
avail[i]=0;
result[i]=0;
finish[i]=0;
}
}
void bankers::input()
{
int i,j;
cout<>nop;
cout<>nor;
cout<<”Enter the allocated resources for each process: “<
cout<<”\nProcess “<for(j=0;j
cout<<”\nResource “<
}
}
cout<<”Enter the maximum resources that are needed for each process: “<
cout<<”\nProcess “<for(j=0;j
cout<<”\nResouce “<
n[i][j]=m[i][j]-al[i][j];
}
}
cout<<”Enter the currently available resources in the system: “;
for(j=0;j
cout<<”Resource “<
work[j]=-1;
}
for(i=0;i
}
void bankers::method()
{
int i=0,j,flag;
while(1)
{
if(finish[i]==0)
{
pnum =search(i);
if(pnum!=-1)
{
result[k++]=i;
finish[i]=1;
for(j=0;j
avail[j]=avail[j]+al[i][j];
}
}
}
i++;
if(i==nop)
{
flag=0;
for(j=0;j
flag=1;
for(j=0;j
if(flag==0)
break;
else
i=0;
}
}
}
int bankers::search(int i)
{
int j;
for(j=0;javail[j])
return -1;
return 0;
}
void bankers::display()
{
int i,j;
cout<
cout<<”\nP”<for(j=0;j
cout<
cout<<”\t “;
for (j=0;j
cout<
cout<<”\t “;
for(j=0;j
cout<
}
cout<<”\nThe sequence of the safe processes are: \n”;
for(i=0;i
int temp = result[i]+1 ;
cout<<”P”<
cout<<”\nThe sequence of unsafe processes are: \n”;
int flg=0;
for (i=0;i
if(finish[i]==0)
{
flg=1;
}
cout<<”P”<}
cout<
cout<
cout<
int main()
{
clrscr();
cout<<” DEADLOCK BANKER’S ALGORITHM “<
B.input ( );
B.method ( );
B.display ( );
getch ( );
}
LongPhi-11H1010068- Tổng số bài gửi : 7
Join date : 09/03/2012
Re: Mới xin được code thuật giải nhà băng trên mạng.Thảo khảo chơi nha
Thanks bạn vì đã tìm thuật toán, nhưng không hiểu sao mình không chạy được trên C++, xin hỏi bạn chạy trên nền gì vậy? VC 6.5 phải không?
LeHoangYen_11H1010157- Tổng số bài gửi : 10
Join date : 22/02/2012
Similar topics
» Thảo luận Bài 8
» Thảo luận Bài 8
» Mời các bạn tham khảo code thuật giải FCFS
» Ôn tập chuẩn bị Thi hết môn
» Ôn tập thi Cuối kỳ
» Thảo luận Bài 8
» Mời các bạn tham khảo code thuật giải FCFS
» Ôn tập chuẩn bị Thi hết môn
» Ôn tập thi Cuối kỳ
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết