Нужно, чтобы в графе состояние процессора заявки шли в порядке очереди т.е сначала первая, затем вторая, а не хаотично. Помогите плзз.
program RR;
const q=5;{квант процессора}
var
f1:text;
i,j,l,t,k,x:byte;
p:array[1..250] of Byte;{состояние очереди}
o:array[1..250,1..20] of Byte;
begin
randomize;
Assign(f1,'RoundRobin.txt');
Rewrite(f1);
Close(f1);
Assign(f1,'RoundRobin.txt');
Append(f1);
for x:=1 to 10 do
begin
l:=0;
k:=0;
for i:=1 to 250 do
begin
p[i]:=0;
for j:=1 to 20 do
o[i,j]:=0;
end;
t:=1;
writeln(f1);
writeln(f1,' Таблица № ',x);
writeln(f1);
writeln(f1,'Номер такта Состояние процессора Состояние очереди');
for i:= 1 to 250 do
begin
for j:= 1 to 20 do
if o[i-1,j] <> 0 then o[i,j]:=o[i-1,j];
j:=1;
while o[i,j] <> 0 do
j:=j+1;
if (t=1) or (i=1) then
If k < 20 then
begin
o[i,j]:=k+1;
k:=k+1;
end;
if (o[i,j]=0)and (j>1) then j:=j-1;
t:=t-1;
if l=0 then
begin p[i]:=o[i,j];
o[i,j]:=0;
end
else p[i]:=p[i-1];
if l=0 then
l:=random(5)+3;
l:=l-1;
if t=0 then t:=x;
if i < 10 then
write(f1,' ',i,' | ')
else if i<100 then write(f1,' ',i,' | ')
else write (f1,' ',i,' | ');
if p[i] <> 0 then
if p[i] <10 then
write(f1,p[i],' | ')
else if p[i] <100 then
write (f1,p[i],' | ')
else write (f1 ,p[i],' | ')
else write (f1,' | ');
for j:=1 to 20 do
if o[i,j] <> 0 then
write(f1,o[i,j],',');
writeln(f1);
if (k=20) and (p[i]=0) and (p[i-1] <> 0) then i:=250;
end;
end;
close(f1);
end.