# ((C[l,i]&lt;&gt;0)

((C[l,i]&lt;&gt;0) or (C[i,l]&lt;&gt;0)) then if F[l,i]&lt;C[l,i] then begin{дуга прямая?} P[i,1]:=l; if P[l,2]&lt;C[l,i]-F[l,i] then P[i,2]:=P[l,2] else P[i,2]:=C[l,i]-F[l,i]; end else if F[i,l]&gt;0 then begin{дуга обратная?} P[i,1]:=-l; if P[l,2]&lt;F[i,l] then P[i,2]:=P[l,2] else P[i,2]:=F[i,l]; end; M:=M-[l];{вершина с номером l просмотрена} l:=1;{находим помеченную и непросмотренную вершину} repeat Inc(l) until (l&gt;N) or ((P[l,1]&lt;&gt;0) and (l in M)); if l&gt;N then Lg:=false; end; end; Логика изменения потока F имеет вид: procedure Stream(q:integer); begin {определяем тип дуги - прямая или обратная, знак минус у номера вершины - признак обратной дуги} if P[q,1]&gt;0 then F[P[q,1],q]:=F[P[q,1],q]+P[t,2] else F[q,abs(P[q,1])]:=F[q,abs(P[q,1])]-P[t,2]; {если не вершина-источник, то переход к предыдущей вершине цепочки} if abs(P[q,1])&lt;&gt;s then begin q:=abs(P[q,1]);Stream(q);end; end; Итак,

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа