Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

SJF #include<stdio.

h> int main() { struct process { int p; int a; int b; } process1[10]; struct process temp; int n,i, j, sum; float avg; printf("enter the no. of processes"); scanf("%d", &n); printf("\nprocess no. arrival time burst time\n"); for(i=0;i<n; i++) { scanf("%d\t %d\t %d", &process1[i].p, &process1[i].a, &process1[i].b); } for(i=0; i<n; i++) { for(j=i+1; j<n; j++) { if(process1[i].b>process1[j].b) { temp=process1[i]; process1[i]=process1[j]; process1[j]=temp;

} } } for(i=0; i<n; i++) { printf(" %d %d %d ", process1[i].p, process1[i].a, process1[i].b); printf("\n"); } sum=0; for(i=0; i<n-1; i++) { sum= sum+ process1[i].b; } avg=(float) sum/n; printf("average waiting time %f", avg); printf("taking arrival time into consideration"); for(i=0; i<n; i++) { for(j=i+1; j<n; j++) { if(process1[i].a>process1[j].a) { temp=process1[i]; process1[i]=process1[j]; process1[j]=temp; } } } for(i=1;i<n;i++) { if(process1[0].b > process1[i].a)

{ for(i=1; i<n; i++) { for(j=i+1; j<n; j++) { if(process1[i].b>process1[j].b) { temp=process1[i]; process1[i]=process1[j]; process1[j]=temp; } } } } } for(i=0; i<n; i++) { printf(" %d %d %d ", process1[i].p, process1[i].a, process1[i].b); printf("\n"); } sum=0; for(i=0; i<n-1; i++) { sum= sum+ process1[i].b; } avg=(float) sum/n; printf("average waiting time %f", avg);

return 0;

You might also like