fork download
  1. //First Come First Serve - CPU Scheduling Algorithm
  2. #include<iostream>
  3. #include<vector>
  4. using namespace std;
  5.  
  6. struct Process {
  7. int process_number;
  8. int arrival_time;
  9. int burst_time;
  10. int completion_time;
  11. int waiting_time;
  12. int turn_around_time;
  13.  
  14. Process(int _process_number, int _arrival_time, int _burst_time) {
  15. process_number = _process_number;
  16. arrival_time = _arrival_time;
  17. burst_time = _burst_time;
  18. }
  19. };
  20.  
  21. int main() {
  22. cout << "Enter the number of processes: ";
  23. int total_processes;
  24. cin >> total_processes;
  25.  
  26. vector<Process> processes;
  27. for(int i = 1;i <= total_processes;i++) {
  28. int arrival_time, burst_time;
  29. cin >> arrival_time >> burst_time;
  30. Process process(i, arrival_time, burst_time);
  31. processes.push_back(process);
  32. }
  33.  
  34. int current_time = 0;
  35. for(auto &process : processes) {
  36. process.completion_time = current_time + process.burst_time;
  37. process.turn_around_time = process.completion_time - process.arrival_time;
  38. process.waiting_time = process.turn_around_time - process.burst_time;
  39. current_time = process.completion_time;
  40. }
  41.  
  42. for(auto process : processes) {
  43. cout << "Process Number : " << process.process_number << endl;
  44. cout << "Arrival Time : " << process.arrival_time << endl;
  45. cout << "Burst Time : " << process.burst_time<< endl;
  46. cout << "Completion Time : " << process.completion_time << endl;
  47. cout << "Waiting Time : " << process.waiting_time << endl;
  48. cout << "Turn around TIme: " << process.turn_around_time << endl;
  49. cout << endl;
  50. }
  51.  
  52. return 0;
  53. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Enter the number of processes: