Facebook
From ssa, 2 Weeks ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 107
  1. #include<stdio.h>
  2.  
  3. struct process {
  4.     int bt, rbt, tat, wt, id;
  5. } p[50], x[50];
  6.  
  7. void main() {
  8.     int i,j,k-1, n,netBurst=0,cmp=0;
  9.     int totalTAT = 0, totalWT = 0;
  10.  
  11.     float avgTAT, avgWT;
  12.  
  13.     printf("Reading the number of processes... ");
  14.     scanf("%d", &n);
  15.  
  16.     printf("Reading the burst times of each process... ");
  17.     for(i=0;i<n;i++) {
  18.         printf("PROCESS %d\t->\t", i+1);
  19.         p[i].id = i+1;
  20.         scanf("%d", &p[i].bt);
  21.         p[i].rbt = p[i].bt;
  22.         netBurst += p[i].bt;
  23.     }  
  24.  
  25.     x[0].tat = 0;
  26.     int qt;
  27.     printf("Reading the time slice... ");
  28.     scanf("%d", &qt;);
  29.  
  30.     while (cmp != netBurst) {
  31.         for (i=0; i<n; i++) {
  32.             if (p[i].rbt != 0) {
  33.                 x[k].id = i+1;
  34.                 if (p[i].rbt - qt <= 0) {
  35.                     x[k].wt = x[k-1].tat;
  36.                     x[k].bt = p[i].rbt;
  37.                     x[k].tat = x[k].wt + x[k].bt;
  38.  
  39.                     p[i].rbt = 0;
  40.                     p[i].tat = x[k].tat;
  41.                     p[i].wt = p[i].tat - p[i].bt;
  42.  
  43.                     cmp = x[k].tat;
  44.                     k++;
  45.  
  46.                     totalTAT += p[i].tat;
  47.                     totalWT += p[i].wt;
  48.                 } else {
  49.                     x[k].wt = x[k-1].tat;
  50.                     x[k].tat = x[k].wt + qt;
  51.                     p[i].rbt -= qt;
  52.  
  53.                     cmp = x[k].tat;
  54.                     k++