Advertisement
Sajib_Ahmed

FCFS

Dec 3rd, 2020
793
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.16 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int  main()
  4. {
  5.     int n,i;
  6.     printf("How many process you want :\n");
  7.     scanf("%d",&n);
  8.     int ArrivalTime[n], BurstTime[n],P[n];
  9.     for(i=0; i<n ; i++)
  10.     {
  11.         printf("Enter arrival Time: ");
  12.         scanf("%d",&ArrivalTime[i]);
  13.         printf("\n Enter Burst Time : ");
  14.         scanf("%d",&BurstTime[i]);
  15.         printf("\n");
  16.         P[i]=i;
  17.     }
  18.     int tempA,tempB,tempP;
  19.     for (i=0; i<n; i++)
  20.     {
  21.         if(ArrivalTime[i]> ArrivalTime[i+1])
  22.         {
  23.             tempA= ArrivalTime[i];
  24.             ArrivalTime[i]=ArrivalTime[i+1];
  25.             ArrivalTime[i+1]=tempA;
  26.             tempB= BurstTime[i];
  27.             BurstTime[i]=BurstTime[i+1];
  28.             BurstTime[i+1]=tempB;
  29.             tempP=P[i];
  30.             P[i]=P[i+1];
  31.             P[i+1]=tempP;
  32.         }
  33.     }
  34.     int TNT[n],WT[n],CM[n],AT[n];
  35.     for (i=0; i<n; i++)
  36.     {
  37.         CM[i]=BurstTime[i];
  38.         AT[i]=ArrivalTime[i];
  39.     }
  40.     printf("\n");
  41.  
  42.     for (i=0; i<n; i++)
  43.     {
  44.         if((CM[i])>=(AT[i+1]))
  45.            {
  46.  
  47.        CM[i+1]+=CM[i];
  48.            }
  49.  
  50.        else{
  51.               int b=0;
  52.               b=AT[i+1]-CM[i];
  53.               CM[i+1]+=b;
  54.               CM[i+1]+=CM[i];
  55.        }
  56.  
  57.  
  58.  
  59.  
  60.  
  61.     }
  62.     int XTNT=0;
  63.     int XWT=0;
  64.  
  65.     for (i=0; i<n; i++)
  66.     {
  67.         TNT[i]=CM[i] - ArrivalTime[i];
  68.         XTNT+=TNT[i];
  69.         WT[i]=TNT[i] - BurstTime[i];
  70.         XWT+=WT[i];
  71.     }
  72.     float avgTNT, avgWT;
  73.     avgTNT=XTNT/n;
  74.     avgWT=XWT/n;
  75.  
  76.     printf("Gantt Chart : \n");
  77.     for(i=0; i<n; i++)
  78.     {
  79.         printf("--------");
  80.     }
  81.     printf("\n");
  82.     for (i=0; i<n; i++)
  83.     {
  84.         printf("P %d |",P[i]);
  85.     }
  86.     printf("\n");
  87.     for(i=0; i<n; i++)
  88.     {
  89.         printf("--------");
  90.     }
  91.     printf("\n");
  92.     for (i=0; i<n; i++)
  93.     {
  94.         printf("%d  |",CM[i]);
  95.  
  96.     }
  97.     printf("\n");
  98.     for(i=0; i<n; i++)
  99.     {
  100.         printf("--------");
  101.     }
  102.     printf("\n");
  103.  
  104.     for(i=0; i<n; i++)
  105.     {
  106.         printf("Waiting time: %d and TNT : %d \n",WT[i],TNT[i]);
  107.     }
  108.     printf("Average Waiting Time: %.2lf\n",avgWT);
  109.     printf("Average TNT: %.2lf\n",avgTNT);
  110. }
  111.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement