| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2178 人关注过本帖
标题:[求助]批处理系统中作业调度算法模拟题目
只看楼主 加入收藏
他们的学生
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2005-11-8
收藏
 问题点数:0 回复次数:5 
[求助]批处理系统中作业调度算法模拟题目
批处理系统中作业调度算法模拟——最高响应算法
要求:
1.内存空间大小,如可设打印机数目
2.作业用链表做:一个结点一个作业(作业名.ID 作业估计时间 等待时间 打印机数目 绘图机数目 作业大小)
3.作业调度:用较高响应比算法
4.显示 (要有删除)
5.结束

谢谢各位高手!!

搜索更多相关主题的帖子: 批处理系统 作业 算法 打印机 内存 
2007-01-03 19:34
清澂居士
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:1237
专家分:7
注 册:2006-12-19
收藏
得分:0 
自己嘗試做下,有問題再上來問好麼?````

佛曰:\"前世的500次回眸才换来今生的一次擦肩而过\".我宁愿用来世的一次擦肩而过来换得今生的500次回眸.
2007-01-04 00:12
cz522321
Rank: 1
等 级:禁止访问
威 望:2
帖 子:569
专家分:5
注 册:2006-3-13
收藏
得分:0 

对呀,现在论坛上怎么老是有人动不动就直接来叫人给代码,还是一点都没有经过自己的动手尝试.


2007-01-04 12:43
他们的学生
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2005-11-8
收藏
得分:0 
以下是引用清澂居士在2007-1-4 0:12:42的发言:
自己嘗試做下,有問題再上來問好麼?````

你牛B 什么啊 ?!?!
大爷我编出来了!!
没用别人帮忙!!
你可以鄙视我,可你照样被千千万万的人鄙视着!!

#include"stdlib.h"
#include"string.h"
#include"iostream.h"
typedef struct cj
{char name[6];
int length;
int printer;
int tape;
int runtime;
int waittime;
struct cj *next;
}cj;
cj *head;
int tape,printer;
long memory;


void shedule()
{float xk,k;
cj *p,*q,*s,*t;
do
{p=head;
q=s=NULL;
k=0;
while(p!=NULL)
{if(p->length<=memory&&p->tape<=tape&&p->printer<=printer)
{xk=(float)(p->waittime)/p->runtime;
if(q==NULL||xk>k)
{k=xk;
q=p;
t=s;
}
}
s=p;
p=p->next;
}
if(q!=NULL)
{if(t==NULL)
head=head->next;
else
t->next=q->next;
memory=memory-q->length;
tape=tape-q->tape;
printer=printer-q->printer;
cout<<"选中作业的作业名:"<<q->name<<"\n";
}
}while(q!=NULL);
}


void main()
{
int size,tcount,pcount,wtime,rtime;
char name[6];
cj *p;
memory=65536;
printer=2;
tape=4;
head=NULL;
cout<<"输入作业相关数据(以作业大小为负数停止输入):\n";
cout<<"输入作业名、作业大小、磁带机数、打印机数、等待时间、估计执行时间\n";
cin>>name>>size>>tcount>>pcount>>wtime>>rtime;
while(size!=-1)
{p=(cj*)malloc(sizeof(cj));
strcpy(p->name,name);
p->length=size;
p->printer=pcount;
p->tape=tcount;
p->runtime=rtime;
p->waittime=wtime;
p->next=head;
head=p;
cout<<"输入作业名、作业大小、磁带机数、打印机数、等待时间、估计执行时间\n";
cin>>name>>size>>tcount>>pcount>>wtime>>rtime;
}
shedule();
}



2007-01-08 20:25
他们的学生
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2005-11-8
收藏
得分:0 
以下是引用cz522321在2007-1-4 12:43:40的发言:

对呀,现在论坛上怎么老是有人动不动就直接来叫人给代码,还是一点都没有经过自己的动手尝试.

你牛B 什么啊 ?!?!
大爷我编出来了!!
没用别人帮忙!!
你可以鄙视我,可你照样被千千万万的人鄙视着!!

#include"stdlib.h"
#include"string.h"
#include"iostream.h"
typedef struct cj
{char name[6];
int length;
int printer;
int tape;
int runtime;
int waittime;
struct cj *next;
}cj;
cj *head;
int tape,printer;
long memory;


void shedule()
{float xk,k;
cj *p,*q,*s,*t;
do
{p=head;
q=s=NULL;
k=0;
while(p!=NULL)
{if(p->length<=memory&&p->tape<=tape&&p->printer<=printer)
{xk=(float)(p->waittime)/p->runtime;
if(q==NULL||xk>k)
{k=xk;
q=p;
t=s;
}
}
s=p;
p=p->next;
}
if(q!=NULL)
{if(t==NULL)
head=head->next;
else
t->next=q->next;
memory=memory-q->length;
tape=tape-q->tape;
printer=printer-q->printer;
cout<<"选中作业的作业名:"<<q->name<<"\n";
}
}while(q!=NULL);
}


void main()
{
int size,tcount,pcount,wtime,rtime;
char name[6];
cj *p;
memory=65536;
printer=2;
tape=4;
head=NULL;
cout<<"输入作业相关数据(以作业大小为负数停止输入):\n";
cout<<"输入作业名、作业大小、磁带机数、打印机数、等待时间、估计执行时间\n";
cin>>name>>size>>tcount>>pcount>>wtime>>rtime;
while(size!=-1)
{p=(cj*)malloc(sizeof(cj));
strcpy(p->name,name);
p->length=size;
p->printer=pcount;
p->tape=tcount;
p->runtime=rtime;
p->waittime=wtime;
p->next=head;
head=p;
cout<<"输入作业名、作业大小、磁带机数、打印机数、等待时间、估计执行时间\n";
cin>>name>>size>>tcount>>pcount>>wtime>>rtime;
}
shedule();
}



2007-01-08 20:26
cz522321
Rank: 1
等 级:禁止访问
威 望:2
帖 子:569
专家分:5
注 册:2006-3-13
收藏
得分:0 

你这人我猜是不是属猪的呀,说话臭气惺天!
编出这个程序就了不起了!


2007-01-08 21:37
快速回复:[求助]批处理系统中作业调度算法模拟题目
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037658 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved