#include <stdio.h> int main() { int n, total_waiting_time = 0, total_turnaround_time = 0; printf("Enter the number of processes: "); scanf("%d", &n); int arrival_time[n], burst_time[n], waiting_time[n], turnaround_time[n], temp; for (int i = 0; i < n; i++) { printf("Enter arrival time and burst time for process %d: ", i + 1); scanf("%d %d", &arrival_time[i], &burst_time[i]); } for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (burst_time[j] > burst_time[j + 1]) { temp = burst_time[j]; burst_time[j] = burst_time[j + 1]; burst_time[j + 1] = temp; temp = arrival_time[j]; arrival_time[j] = arrival_time[j + 1]; arrival_time[j + 1] = temp; } } } printf("Process\tWaiting Time\tTurnaround Time\n"); int current_time = 0; for (int i = 0; i < n; i++) { waiting_time[i] = current_time - arrival_time[i] < 0 ? 0 : current_time - arrival_time[i]; turnaround_time[i] = waiting_time[i] + burst_time[i]; total_waiting_time += waiting_time[i]; total_turnaround_time += turnaround_time[i]; printf("%d\t%d\t\t%d\n", i + 1, waiting_time[i], turnaround_time[i]); current_time += burst_time[i]; } printf("Average Waiting Time: %.2f\n", (float)total_waiting_time / n); printf("Average Turnaround Time: %.2f\n", (float)total_turnaround_time / n); return 0; }