Facebook
From sj, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 135
  1.  
  2.         #include<stdio.h>
  3.         #include<string.h>
  4.          
  5.         float avgwt, avgtt;
  6.         char pname[10][10], c[10][10];
  7.         int at[10], wt[10], tt[10], bt[10], n, sum = 0, ttime, j, ss = 0, count = 0, indexar[10], ix = 0, k, ix1, ix2, choice,ct[10],i;
  8.        
  9.      
  10.        
  11.          void table()
  12.          {
  13.          
  14.                      int i;
  15.             printf("\nPROCESS\t ARRIVAL TIME \t BURST TIME \t WAITING TIME \t  TURN AROUND TIME\t");
  16.             for (i = 0; i < n; i++) {
  17.                 printf("\n%s\t\t%d\t\t%d\t\t%d\t\t%d\t", pname[i],at[i],bt[i],wt[i],tt[i]);
  18.             }
  19.            
  20.         }
  21.  void gantt_chart() {
  22.             int i;
  23.             printf("\nGRANTT CHART\n");
  24.             for (i = 0; i < n; i++) {
  25.                 printf("|\t%s\t", pname[i]);
  26.             }
  27.             printf("|\n");
  28.           printf("0\t\t");
  29.             for (i = 0; i < n; i++) {
  30.                 printf("%d\t\t", ct[i]);
  31.             }
  32.            
  33.         }
  34.          
  35.         int main() {
  36.             printf("Enter the number of processes:");
  37.             scanf("%d", &n);
  38.          
  39.             printf("Enter the NAME,  BURST TIME of the process\n");
  40.          
  41.             for (int i = 0; i < n; i++) {
  42.                 printf("\nPROCESS NAME: ");
  43.                 scanf("%s", pname[i]);
  44.                
  45.                 printf("BURST TIME: ");
  46.                 scanf("%d", &bt;[i]);
  47.             }
  48.                for (int i = 0; i < n; i++) {
  49.                 for (int j = 0; j < n; j++) {
  50.                    if (bt[i] < bt[j]) {
  51.                         int temp = bt[i];
  52.                         bt[i] = bt[j];
  53.                         bt[j] = temp;
  54.          
  55.          
  56.                         char tempStr[10];
  57.                         strcpy(tempStr, pname[i]);
  58.                         strcpy(pname[i], pname[j]);
  59.                         strcpy(pname[j], tempStr);
  60.                     }
  61.                 }
  62.             }
  63.             wt[0] = 0;
  64.             ct[0]=bt[0];
  65.                     sum = 0;
  66.                    
  67.                     tt[0] = wt[0] + bt[0];
  68.                     ss=tt[0];
  69.                     for (int i = 1; i < n; i++) {
  70.                         ct[i]=ct[i-1]+bt[i];
  71.                          tt[i] =ct[i]-at[i];
  72.                         wt[i] = tt[i]-bt[i];
  73.                         sum = sum + wt[i];
  74.                        
  75.                         ss = ss + tt[i];
  76.                         //printf("%d-ss",ss);
  77.                     }
  78.                     avgwt = (float)sum / n;
  79.                     avgtt = (float)ss / n;
  80.                     printf("\nAverage waiting time=%f", avgwt);
  81.                     printf("\nAverage turn-around time=%f", avgtt);
  82.                     printf("\nGANTT CHART FCFS SCHEDULING\n");
  83.                     table();
  84.                     gantt_chart();
  85.                      return 0;
  86.                     }