Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //First come first served
- #include<stdio.h>
- #include<stdlib.h>
- struct process{
- int bt , art , wt ;
- } p[20];
- int n;
- int main(){
- scanf("%d" , &n);
- for(int i=1 ; i<=n ; ++i){
- printf("Burst time and arrival time of process number %d\n" , i);
- scanf("%d%d" , &p[i].bt , &p[i].art);
- }
- p[0].bt=11111;
- p[0].art=11111;
- int cnt=0;
- int t=0;
- int s=0;
- while(cnt<n){
- int mini=0;
- int done=0;
- for(int i=1 ; i<=n ; ++i){
- if(p[i].art<=t && p[i].art<p[mini].art){
- mini=i;
- done=1;
- }
- }
- if(done==0){
- t++;
- continue;
- }
- cnt++;
- t+=p[mini].bt;
- p[mini].wt=t-p[mini].bt-p[mini].art;
- printf("%d %d %d\n" , t , p[mini].bt , p[mini].art);
- s+=p[mini].wt;
- p[mini].art=11111;
- }
- double AT=(double)s/(double)n;
- printf("Average waiting time is %f\n" , AT);
- for(int i=1 ; i<=n ; ++i){
- printf("Process %d -> Works: %d , Waits: %d , All: %d\n" , i , p[i].bt , p[i].wt , p[i].bt+p[i].wt);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement