Submitted by: Muhammad Haseeb Saeed
#include<iostream>
using namespace std;
void wTime(int Pr[], int num, int burst[], int wait[], int arr[]);
void TTime(int Pr[], int num, int burst[], int wait[], int tat[]);
void AvgT(int Pr[], int num, int burst[], int arr[]);
int main()
{
int Pr[] = {3, 1, 2};
int num = sizeof Pr / sizeof Pr[0];
int bTime[] = {6, 5, 3};
int aTime[] = {1, 0, 4};
AvgT(Pr, num, bTime, aTime);
return 0;
}
void AvgT(int Pr[], int num, int burst[], int arr[])
{
int wait[num], tat[num];
wTime(Pr, num, burst, wait, arr);
TTime(Pr, num, burst, wait, tat);
cout << "Process List: " << " BTime: " << " ATime: " << " WTime: " << " TTime " << " Completion \n";
int tWait = 0, tTat = 0;
for (int i = 0 ; i < num ; i++)
{
tWait = tWait + wait[i];
tTat = tTat + tat[i];
int cTime = tat[i] + arr[i];
cout << " " << i+1 << "\t\t" << burst[i] << "\t\t" << arr[i] << "\t\t" << wait[i] << "\t\t " << tat[i] << "\t\t " << cTime <<
endl;
}
cout << "Average wait Time: " << (float)tWait / (float)num;
cout << "\nAverage Turn-Around Time: " << (float)tTat / (float)num;
}
void wTime(int Pr[], int num, int burst[], int wait[], int arr[])
{
int serviceT[num];
serviceT[0] = 0;
wait[0] = 0;
for (int i = 1; i < num ; i++)
{
serviceT[i] = serviceT[i-1] + burst[i-1];
Submitted by: Muhammad Haseeb Saeed
wait[i] = serviceT[i] - arr[i];
if (wait[i] < 0)
wait[i] = 0;
}
}
void TTime(int Pr[], int num, int burst[], int wait[], int tat[])
{
for (int i = 0; i < num ; i++)
tat[i] = burst[i] + wait[i];
}