Форум программистов, компьютерный форум CyberForum.ru

Имитация Алгоритма планирования процессов First-Come, First-Served (FCFS) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
dnb_dnb
44 / 0 / 1
Регистрация: 13.11.2011
Сообщений: 95
17.05.2012, 20:29     Имитация Алгоритма планирования процессов First-Come, First-Served (FCFS) #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
 
typedef struct {
    int p_no;
    short burst;
    short wait;
    short r_times; // number of CPU processes
} p_b;
 
//  Initially L = 0, R = n-1
void QuickSort(p_b a[], long L, long R)
{
 
    long j, i, x;
    p_b k;
 
    i = L;
    j = R;
    x = a[(L+R) / 2].burst;
    do
    {
      while (a[i].burst < x)
                 i++;
      while (a[j].burst > x)
                 j--;
      if (i <= j)
      {
         k = a[i];
         a[i] = a[j];
         a[j] = k;
         i++;
         j--;
      }
    }
    while (i < j);
    if (L < j)
                QuickSort(a,L,j);
    if (i < R)
                QuickSort(a,i,R);
}
 
int FCFS(p_b Prc[], char n)
{
   int i, t;
   float awt;
   printf("----------------------------------\n");
   printf("|    First Come, First Served    |\n");
   printf("|--------------------------------|\n");
   t=0;
   for(i=0;i<n;i++)
   {
               printf("|  P. No: %3d Wait: %3d          |\n", Prc[i].p_no, t);
               Prc[i].wait = t;
               t += Prc[i].burst;
   }
   awt = 0.0;
   for(i=0;i<n;i++)
               awt += Prc[i].wait;
   printf("| Average Waiting Time: %4.2f    |\n", awt/(float)n);
   printf("----------------------------------\n");
   getch();
 
   return 0;
}
int main(void)
{
 
    p_b Prc[50];
    int i, n, tq;
    float a;
 
    printf("How many processes: ");scanf("%d",&n);
    for(i=0;i<n;i++)
    {
                Prc[i].p_no = i;
                Prc[i].r_times = 0;
                Prc[i].wait = 0;
                printf("%d. Process Birst Time:", i);
                scanf("%d", &Prc[i].p_no);
    }
    printf("Time quantum:");scanf("%d",&tq);
    printf("Previus process weight:");scanf("%f",&a);
 
    FCFS(Prc, n);
     return 0;
}
Помогите, пожалуйста, разобраться с ошибкой в коде

Добавлено через 2 часа 30 минут
а всё нашёл ошибку. эта строка лишняя
Цитата Сообщение от dnb_dnb Посмотреть сообщение
getch();
Добавлено через 3 часа 9 минут
А вообще, если честно это не моя прога. Помогите мне в ней разобраться, я не понимаю что нужно вводить, и что получаеться из-за трудности перевода(((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2012, 20:29     Имитация Алгоритма планирования процессов First-Come, First-Served (FCFS)
Посмотрите здесь:

C++ Алгоритмы планирования FCFS и SRR
C++ Алгоритмы планирования разветвленной структуры.
C++ Схема Алгоритма разветвляющихся процессов.
Алгоритм планирования процессов First-Come, First-Served (FCFS) C++
C++ Объяснить программу (Алгоритм планирования, Планировщик)
Фиксированный квант времени в алгоритме планирования FCFS C++
Алгоритм планирования Round Robin с квантом времени (переделать программу) C++
Разработка программы автоматизации планирования учебного процесса... C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 05:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru