• Source
    1. // C++ program for implementation of FCFS
    2. // scheduling with different arrival time
    3. #include<iostream>
    4. using namespace std;
    5. #define P 3
    6. void findavgTime(int pro[],int btime[],int atime[])
    7. {int a,wtime[P],ctime[P],tatime[P];
    8. ctime[0]=atime[0]+btime[0];
    9. for(a=1;a<P;a++){
    10. ctime[a]=ctime[a-1]+btime[a];
    11. if(ctime[a-1]<atime[a])
    12. ctime[a] +=(atime[a]-ctime[a-1]);
    13.  
    14. }
    15. for(a=0;a<P;a++){
    16. tatime[a]=ctime[a]-atime[a];
    17.  
    18. }
    19. for(a=0;a<P;a++)
    20. {
    21. wtime[a]=tatime[a]-btime[a];
    22. }
    23.  
    24. cout<<"p"<<" "<<"bt"<<" "<<"at"<<" "<<"ct"<<" "<<"tat"<<" "<<"wt"<<endl;
    25. for(a=0;a<P;a++)
    26. {
    27. cout<<a<<" "<<btime[a]<<" "<<atime[a]<<" "<<ctime[a]<<" "<<tatime[a]<<" "<<wtime[a]<<endl;
    28. }
    29. }
    30.  
    31. // Driver code
    32. int main()
    33. {
    34. // Process id's
    35. int processes[] = {1, 2, 3};
    36. int n = sizeof processes / sizeof processes[0];
    37.  
    38. // Burst time of all processes
    39. int burst_time[] = {5, 9, 6};
    40.  
    41. // Arrival time of all processes
    42. int arrival_time[] = {3, 3, 6};
    43.  
    44. findavgTime(processes, burst_time, arrival_time);
    45.  
    46. return 0;
    47. }
    48.