Untitled
#include <bits/stdc++.h> using namespace std; struct P { int id, bt, wt, tat; }; bool cmp(P a, P b) { return a.bt < b.bt; } int main() { int n = 10, total_wt = 0, total_tat = 0; P p[n]; cout << "Enter Burst Time (BT) for " << n << " processes:\n"; for (int i = 0; i < n; i++) { p[i].id = i + 1; cin >> p[i].bt; } sort(p, p + n, cmp); p[0].wt = 0; for (int i = 1; i < n; i++) p[i].wt = p[i - 1].wt + p[i - 1].bt; for (int i = 0; i < n; i++) { p[i].tat = p[i].wt + p[i].bt; total_wt += p[i].wt; total_tat += p[i].tat; } cout << "\nProcess Details:\n"; cout << "ID\tBT\tWT\tTAT\n"; for (int i = 0; i < n; i++) cout << p[i].id << "\t" << p[i].bt << "\t" << p[i].wt << "\t" << p[i].tat << "\n"; cout << "\nAverage Waiting Time: " << (float)total_wt / n; cout << "\nAverage Turnaround Time: " << (float)total_tat / n << "\n"; // Gantt Chart cout << "\nGantt Chart:\n "; for (int i = 0; i < n; i++) cout << "----"; cout << "\n|"; for (int i = 0; i < n; i++) cout << " P" << p[i].id << " |"; cout << "\n "; for (int i = 0; i < n; i++) cout << "----"; cout << "\n0"; for (int i = 0; i < n; i++) cout << setw(4) << p[i].wt + p[i].bt; cout << "\n"; }
Leave a Comment