#include #include #include struct process { char name[20]; int at,tt,bt,wt,ct,status; }p[20],temp; struct done { char name[20]; int st,ct; }d[20]; int n,num,idle=0; float average_wt=0,average_tt=0; void read(){ printf("ENTER THE NUMBER OF PROCESSES : "); scanf("%d",&n); for(int i=0;i p[j+1].at) { temp = p[j]; p[j] = p[j+1]; p[j+1] = temp; } } } } void FCFS(){ int i,j; for(i=0,j=0,num=0;j=p[j].at && p[j].status==0) { if(fnd==0){ min = j; fnd = 1; } else if(fnd!=0 && p[min].bt>p[j].bt){ min = j; } } } if(idle==0 && fnd==0){ strcpy(d[num].name,"Idle"); d[num].st = i; i++; idle = 1; } else if(fnd==1){ if(idle==1){ d[num].ct = i; num++; idle = 0; } strcpy(d[num].name,p[min].name); p[min].status =1; d[num].st = i; d[num].ct = i + p[min].bt; i = d[num].ct; p[min].ct = d[num].ct; p[min].tt = p[min].ct - p[min].at; p[min].wt = p[min].tt - p[min].bt; num++; ls++; } else{ i++; } } } void print(){ printf("\nPROCESS NAME\t ARRIVAL TIME\t BURST TIME\tCOMPLETION TIME\t\tWAITING TIME\t\tTURNAROUND TIME\n"); for(int i=0;i