FCFS DYNAMIC

 

// FCFS DYNAMIC

#include <stdio.h>

int main() {

int n = 5;

int i, j;

int AT[5], BT [5], CT[5], TAT [5], WT [5];

int total_TAT = 0, total_WT = 0;

float avg _TAT, avg_WT;

printf("Enter Arrival Time and Burst Time for 5 processes: \n");

for ( i = 0 ; i < n; i++) {

printf("Process %d:\n", i + 1 ) ;

printf("Arrival Time: ");

scanf("%d", &AT[i]);

printf("Burst Time: ");

scanf("%d", &BT[i]);

}

for ( i = 0 ; i<n-1; i++) {

for (j = i + 1) j<n; j++) {

if (AT[i] > AT[j]) {

int temp AT[i];

AT[i] =AT[J];

AT[j] = temp;

 

temp = BT[i];

BT[i] = BT[j];

BT[j]= temp;

}}}

CT[0] = AT[0] + BT[0];

for (i=1; i < n; i++) {

if (AT[i] > CT[i - 1]) {

   CT[i] = AT[i] + BT[i];

} else {

CT[i] = CT[i - 1] + BT[i];

}}

for (i = 0 ; i <n; i++) {

TAT [i]= CT[i] -AT[i];

WT(i) = TAT(i) – BT[i] ;

total_TAT += TAT[i];

total_WT += WT[i];

}

avg _TAT =(float) total_TAT / n;

avg _WT =(float)total_WT/ n;

 

printf("\nProcess\tAT\tBT\tCT\tTAT\tWT\n");

for ( i = 0 ; i<n; i++) {

printf("P%d\t%d\t%d\t%d\t%d\t%d\n", i+1, AT[i], BT[i], CT[i], TAT [i], WT[i]); }

printf("\nAverage Turnaround Time: %.2f\n", avg_TAT);

printf("Average Waiting Time: %.2f\n", avg_WT);

return 0;}

Comments

Popular posts from this blog

FCFS Static code