Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

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

Go down

Mới xin được code thuật giải nhà băng trên mạng.Thảo khảo chơi nha Empty Mới xin được code thuật giải nhà băng trên mạng.Thảo khảo chơi nha

Bài gửi  LongPhi-11H1010068 26/4/2012, 10:19

#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;ifinish[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;jif(avail[j]!=work[j])
flag=1;
for(j=0;jwork[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 ( );
}

LongPhi-11H1010068

Tổng số bài gửi : 7
Join date : 09/03/2012

Về Đầu Trang Go down

Mới xin được code thuật giải nhà băng trên mạng.Thảo khảo chơi nha Empty Re: Mới xin được code thuật giải nhà băng trên mạng.Thảo khảo chơi nha

Bài gửi  LeHoangYen_11H1010157 26/4/2012, 16:40

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

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết