Показать сообщение отдельно
  #6  
Старый 18.04.2011, 17:30
Fazotron Fazotron вне форума
Прохожий
 
Регистрация: 26.10.2009
Сообщения: 38
Репутация: 10
По умолчанию

скорей всего так:

Код:
j:=1;

while (j<=max) do
begin
i:=1;
  while (i<=n) do
	begin
		if P[i] = j then
		begin
			Wt[i]:=w;
			w:= w+B[i];
		end;
  i:=i+1;
	end;
j:=j+1;
end;

теперь работает, но так получается ответ 7,75, а должен быть 4,50
входные данные:
Процесс | Время появления | CPU Burst | Приоритет |
1 | 1 | 6 | 4 |
2 | 3 | 2 | 3 |
3 | 7 | 7 | 2 |
4 | 1 | 5 | 1 |

Массивы Время появления (Bu), CPU Burst (B), приоритет (P) заполняются правильно (вывел в Memo для проверки). а вот результирующий массив Wt (время ожидания) неправильный. хотя алгоритм вроде правильный. Wt должен быть [14,3,1,0], а получается [14,12,5,0]
подскажите что не так
Исправленный проект прикрепляю
Вложения
Тип файла: zip prior.zip (215.9 Кбайт, 8 просмотров)
Ответить с цитированием