Facebook
From Diminutive Baboon, 1 Year ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 131
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct process {
  5.     int pid;
  6.     int burst_time;
  7.     int start_time;
  8.     int completion_time;
  9.     int turnaround_time;
  10.     int waiting_time;
  11. };
  12.  
  13. bool compareBurst(process p1, process p2)
  14. {
  15.     return p1.burst_time < p2.burst_time;
  16. }
  17.  
  18. bool compareID(process p1, process p2)
  19. {
  20.     return p1.pid < p2.pid;
  21. }
  22.  
  23. int main() {
  24.  
  25.     int n;
  26.     struct process p[100];
  27.     float avg_turnaround_time;
  28.     float avg_waiting_time;
  29.     int total_turnaround_time = 0;
  30.     int total_waiting_time = 0;
  31.  
  32.     cout<<"Enter the number of processes: ";
  33.     cin>>n;
  34.  
  35.     for(int i = 0; i < n; i++) {
  36.         cout<<"Enter burst time of process "<<i+1<<": ";
  37.         cin>>p[i].burst_time;
  38.         p[i].pid = i+1;
  39.     }
  40.  
  41.     sort(p,p+n,compareBurst);
  42.  
  43.     for(int i = 0; i < n; i++) {
  44.  
  45.         p[i].start_time = (i == 0)? 0 :p[i-1].turnaround_time;
  46.         p[i].turnaround_time = p[i].start_time + p[i].burst_time;
  47.         p[i].waiting_time = p[i].turnaround_time - p[i].burst_time;
  48.  
  49.         total_turnaround_time += p[i].turnaround_time;
  50.         total_waiting_time += p[i].waiting_time;
  51.     }
  52.  
  53.     avg_turnaround_time = (float) total_turnaround_time / n;
  54.     avg_waiting_time = (float) total_waiting_time / n;
  55.  
  56.     sort(p,p+n,compareID);
  57.  
  58.     cout<<endl;
  59.     cout<<"#P\t"<<"BT\t"<<"ST\t"<<"TAT\t"<<"WT\t"<<"\n"<<endl;
  60.  
  61.     for(int i = 0; i < n; i++) {
  62.         cout<<p[i].pid<<"\t"<<p[i].burst_time<<"\t"<<p[i].start_time<<"\t"<<p[i].turnaround_time<<"\t"<<p[i].waiting_time<<"\t\t"<<"\n"<<endl;
  63.     }
  64.     cout<<"Average Turnaround Time = "<<avg_turnaround_time<<endl;
  65.     cout<<"Average Waiting Time = "<<avg_waiting_time<<endl;
  66.  
  67.  
  68. }
  69.  
  70.  

Replies to Untitled rss

Title Name Language When
Re: Untitled Perl Agouti cpp 1 Year ago.