Untitled
unknown
plain_text
a year ago
1.1 kB
5
Indexable
#include<stdio.h> struct process{ int at; int bt; int wt; int ct; int tat; int fl; }; void main() { int i,n,pc=0,curt=0,avgtat=0,avgwt=0; printf("enter the no of processes:"); scanf("%d",&n); struct process p[n]; for(i=0;i<n;i++) { printf("enter the arrival time and burst time of process %d:\n",i+1); scanf("%d%d",&p[i].at,&p[i].bt); p[i].fl=0; } while(pc<n) { int min=-1; for(i=0;i<n;i++) { if(p[i].at<=curt && p[i].fl==0) { if(min==-1 || p[i].bt<p[min].bt) { min=i; } } } if(min==-1) curt++; else { pc++; p[min].ct=curt+p[min].bt; curt+=p[min].bt; p[min].tat=p[min].ct-p[min].at; p[min].wt=p[min].tat-p[min].bt; avgtat+=p[min].tat; avgwt+=p[min].wt; p[min].fl=1; } } printf("\nprocess\t\tat\t\tbt\t\tct\t\ttat\t\twt\t\n"); for(i=0;i<n;i++) { printf("%d\t\t%d\t\t%d\t\t%d\t\t%d\t\t%d\t\n",i+1,p[i].at,p[i].bt,p[i].ct,p[i].tat,p[i].wt); } printf("Average Turn Around Time:%.2f\n",(float)avgtat/n); printf("Average Waiting Time:%.2f\n",(float)avgwt/n); }
Editor is loading...
Leave a Comment