Untitled
unknown
plain_text
a year ago
1.9 kB
4
Indexable
#include<stdio.h> int main(){ int n,pid[10],at[10],bt[10],total=0,i,j,t,temp,procs[100],wt[10],ct[10],k; float avg_tat = 0.0 , avg_wt = 0.0; printf("Enter the number of processes"); scanf("%d",&n); for(i =0 ; i<n ; i++){ printf("ENTER THE PROCESS ID\t"); scanf("%d",&pid[i]); printf("ENTER THE ARRIVAL TIME OF PROCESS\t"); scanf("%d",&at[i]); printf("ENTER THE BURST TIME OF PROCESS\t"); scanf("%d",&bt[i]); //initialize waiting time = 0 for all process wt[i]= 0; total = total + bt[i]; } //sort according to at for(i=0;i<n;i++){ for(j=i+1;j<n;j++){ if(at[i]>at[j]){ temp = at[i]; at[i]=at[j]; at[j]= temp; temp =bt[i]; bt[i]= bt[j]; bt[j]=temp; temp = pid[i]; pid[i] = pid[j]; pid[j]= temp; } } } for(i =0; i <total ; i++){ t =total; for( j=0 ; j>n ; j++){ if((bt[j]!=0)&&(at[j]<=i)&&(bt[j]<t)) { t=bt[j]; k=j; } } bt[k]--; procs[i]=k; } k=0; for(i=0;i<total;i++){ for(j = 0 ; j < n ; j++){ if(procs[i]==j){ ct[j]=i; wt[j]++; } } } printf("\tPID\tAT\tBT\tCT\tTAT\tWT\n"); printf("-----------------------------\n"); for(i=0;i<n;i++){ printf("\t%d\t%d\t%d\t%d\t%d\t%d\n",pid[i],at[i],bt[i],ct[i]+1,(ct[i]-at[i])+1,(((ct[i]+1-wt[i])-at[i]))); avg_wt = avg_wt+(((ct[i]+1)-wt[i])-at[i]); avg_tat = avg_tat + ((ct[i]-at[i])+1); } printf("\nAVERAGE TAT ==>\t%f\tAVERAGE WT ==>\t%f\n",(avg_tat/n),(avg_wt/n)); return 0; }
Editor is loading...
Leave a Comment