AT[j]) { int temp = AT[i]; "> AT[j]) { int temp = AT[i]; "> AT[j]) { int temp = AT[i]; ">
import java.util.Scanner;
public class FCFS {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.print("Enter number of processes: ");
int n = sc.nextInt();
int[] pid = new int[n];
int[] AT = new int[n];
int[] BT = new int[n];
int[] CT = new int[n];
int[] TAT = new int[n];
int[] WT = new int[n];
for (int i = 0; i < n; i++) {
System.out.print("Enter process ID: ");
pid[i] = sc.nextInt();
System.out.print("Enter arrival time: ");
AT[i] = sc.nextInt();
System.out.print("Enter burst time: ");
BT[i] = sc.nextInt();
}
for (int i = 0; i < n; i++) {
for (int 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;
temp = pid[i];
pid[i] = pid[j];
pid[j] = temp;
}
}
}
for (int i = 0; i < n; i++) {
if (i == 0)
CT[i] = AT[i] + BT[i];
else {
if (CT[i - 1] < AT[i])
CT[i] = AT[i] + BT[i];
else
CT[i] = CT[i - 1] + BT[i];
}
}
int totalTAT=0;
int totalWT=0;
for(int i=0;i<n;i++) {
TAT[i]=CT[i]-AT[i];
WT[i]=TAT[i]-BT[i];
totalTAT+=TAT[i];
totalWT+=WT[i];
}
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (pid[j] > pid[j + 1]) {
int temp = pid[j];
pid[j] = pid[j + 1];
pid[j + 1] = temp;
temp = AT[j];
AT[j] = AT[j + 1];
AT[j + 1] = temp;
temp = BT[j];
BT[j] = BT[j + 1];
BT[j + 1] = temp;
temp = CT[j];
CT[j] = CT[j + 1];
CT[j + 1] = temp;
temp = TAT[j];
TAT[j] = TAT[j + 1];
TAT[j + 1] = temp;
temp = WT[j];
WT[j] = WT[j + 1];
WT[j + 1] = temp;
}
}
}
System.out.println("\\nPID\\tAT\\tBT\\tCT\\tTAT\\tWT");
for ( int i = 0; i < n; i++) {
System.out.println(pid[i] + "\\t" + AT[i] + "\\t" + BT[i] + "\\t" +
CT[i] + "\\t" + TAT[i] + "\\t" + WT[i]);
}
double avgTAT = (double) totalTAT / n;
double avgWT = (double) totalWT / n;
System.out.printf("\\nAverage Turnaround Time: "+ avgTAT);
System.out.printf("\\nAverage Waiting Time: "+ avgWT);
sc.close();
}
}
