# Write a program to implement first come first serve algorithm (FCFS) without considering arrival time

The following c program will help you to implemen first come first serve algorithm (FCFS) without considering arrival time

## Calculating Average Waiting Time and Turn-Around Time using Ghantt Chart:

Gantt Chart:

```
__________________________
| P1 | P2 | P3 | P4 | P5 |
|____|____|____|____|____|
0    2    7   15   19    25

Process  	TAT     WT

P1  	     2      0
P2           7       2
P3           15      7
P4           19      15
P5           25      19

Average Waiting Time : 8.000000
Average Turn-Around Time : 13.000000```

## C Program Code

```
```

/*;==========================================
; Title: Write a program to implement first come first serve algorithm (FCFS) without considering arrival time.
; Owned: codenaive littleboy8506@  <[email protected]> <[email protected]>
; Contribution:  Mansi bansal
; Programming Language: C
; Date:   1 Feb 2021
;==========================================*/
#include<stdio.h>
int Gantt(int P[5],int sum[6])
{
int i;
float avgWT=0.0,avgTAT=0.0;
printf("Gantt Chart:\n");
printf("_______________________________\n");
for(i=0;i<5;i++)
{
printf("| P%d  ",P[i]);
}
printf("|\n|_____|_____|_____|_____|_____|\n");
printf("0     %d     %d     %d    %d     %d",sum[1],sum[2],sum[3],sum[4],sum[5]);
printf("\n\n");
printf("Process\t\tTAT\tWT");
for(i=0;i<5;i++)
{
printf("\nP%d\t\t%d\t%d",i+1,sum[i+1],sum[i]);
}
avgWT=(sum[0]+sum[1]+sum[2]+sum[3]+sum[4])/5;
avgTAT=(sum[1]+sum[2]+sum[3]+sum[4]+sum[5])/5;
printf("\nAverage Waiting Time : %f",avgWT);
printf("\nAverage Turn-Around Time : %f",avgTAT);
printf("\n");
}
int main()
{
int i,j,BT[5],AT[5],TAT[5],WT[5],c=0,sum[6],P2[5],BT2[5],avgWT=0,avgTAT=0,idle,n=5;
sum[0]=0;
int P[5],k=0,sno=1,a=1;
do{
printf("Case %d:\n",a);
a++;
printf("%d ",sno);
printf("Enter new Process order : ");
sno++;
for(i=0;i<5;i++)
{
scanf("%d",&P[i]);
}
printf("\nEnter Burst time order wise : ");
for(i=0;i<5;i++)
{
scanf("%d",&BT[i]);
}
for(i=0;i<5;i++)
{
c=c+BT[i];
sum[i+1]=c;
}
Gantt(P,sum);
c=0;
k++;
}while(k<5);
}

```
```

## Output

``````~/admin@codenaive/os \$ gcc fcn.c -o fcn
Case 1:
1 Enter new Process order : 1 2 3 4 5

Enter Burst time order wise : 2 5 8 4 6
Gantt Chart:
__________________________
| P1 | P2 | P3 | P4 | P5 |
|____|____|____|____|____|
0    2    7   15   19    25

Process  	TAT     WT
P1  		 2       0
P2           7       2
P3           15      7
P4           19      15
P5           25      19

Average Waiting Time : 8.000000
Average Turn-Around Time : 13.000000

Case 2:
2 Enter new Process order : 2 1 4 3 5

Enter Burst time order wise : 5 2 4 8 6
Gantt Chart:
__________________________
| P1 | P2 | P3 | P4 | P5 |
|____|____|____|____|____|
0    5    7    11   19    25

Process  	TAT     WT
P1  		 5       0
P2           7       5
P3           11      7
P4           19      11
P5           25      19

Average Waiting Time : 8.000000
Average Turn-Around Time : 13.000000

Case 3:
3 Enter new Process order : 2 4 1 5 3

Enter Burst time order wise : 5 4 2 6 8
Gantt Chart:
__________________________
| P1 | P2 | P3 | P4 | P5 |
|____|____|____|____|____|
0    5    9    11   17    25

Process  	TAT     WT
P1  		 5       0
P2           9       5
P3           11      9
P4           17      11
P5           25      17

Average Waiting Time : 8.000000
Average Turn-Around Time : 13.000000

Case 4:
4 Enter new Process order : 1 5 4 3 2

Enter Burst time order wise : 2 6 4 8 5
Gantt Chart:
__________________________
| P1 | P2 | P3 | P4 | P5 |
|____|____|____|____|____|
0    2    8    12   20    25

Process  	TAT     WT
P1  		 2       0
P2           8       2
P3           12      8
P4           20      12
P5           25      20

Average Waiting Time : 8.000000
Average Turn-Around Time : 13.000000

Case 5:
5 Enter new Process order : 3 5 1 4 2

Enter Burst time order wise : 8 6 2 4 5
Gantt Chart:
__________________________
| P1 | P2 | P3 | P4 | P5 |
|____|____|____|____|____|
0    8    14    16   20    25

Process  	TAT     WT
P1  		 8       0
P2           14      8
P3           16      14
P4           20      16
P5           25      20

Average Waiting Time : 11.000000
Average Turn-Around Time : 16.000000

``````