using System;
using [Link];
class Process
{
public int PID { get; set; }
public int ArrivalTime { get; set; }
public int BurstTime { get; set; }
public int CompletionTime { get; set; }
public int TurnaroundTime { get; set; }
public int WaitingTime { get; set; }
}
class FCFS
{
static void Main(string[] args)
{
List<Process> processes = new List<Process>();
[Link]("Enter the number of processes: ");
int n = [Link]([Link]());
for (int i = 0; i < n; i++)
{
Process process = new Process();
[Link]($"Enter details for Process {i + 1}:");
[Link] = i + 1;
[Link]("Arrival Time: ");
[Link] = [Link]([Link]());
[Link]("Burst Time: ");
[Link] = [Link]([Link]());
[Link](process);
}
[Link]((p1, p2) => [Link]([Link]));
int currentTime = 0;
foreach (var process in processes)
{
if (currentTime < [Link])
{
currentTime = [Link];
}
[Link] = currentTime + [Link];
[Link] = [Link] - [Link];
[Link] = [Link] - [Link];
currentTime = [Link];
}
[Link]("==============================================
==================================");
[Link](" PID |Arrival Time |Burst Time |Completion Time |Turnaround Time |
Waiting Time |");
[Link]("==============================================
==================================");
foreach (var process in processes)
{
[Link]($" {[Link]}\t {[Link]}\t\t{[Link]}\t\
t{[Link]}\t\t{[Link]}\t\t{[Link]}");
}
double totalTurnaroundTime = 0;
double totalWaitingTime = 0;
foreach (var process in processes)
{
totalTurnaroundTime += [Link];
totalWaitingTime += [Link];
}
[Link]("==============================================
==================================");
[Link]($"\nAverage Turnaround Time: {totalTurnaroundTime / n}");
[Link]($"Average Waiting Time: {totalWaitingTime / n}");
[Link]();
}
}