code 34174; comment MCA 2406; procedure BAKLBR(N, N1, N2, D, INT, VEC); value N, N1, N2; integer N, N1, N2; array D, VEC; integer array INT; begin integer I, J, K, P, Q; real DI; P:= 1; Q:= N; for I:= 1 step 1 until N do begin DI:= D[I]; if DI ^= 1 then for J:= N1 step 1 until N2 do VEC[I,J]:= VEC[I,J] * DI; K:= INT[I]; if K > 0 then P:= P + 1 else if K < 0 then Q:= Q - 1 end; for I:= P - 1 + N - Q step -1 until 1 do begin K:= INT[I]; if K > 0 then begin P:= P - 1; if K ^= P then ICHROW(N1, N2, K, P, VEC) end else begin Q:= Q + 1; if -K ^= Q then ICHROW(N1, N2, -K, Q, VEC) end end end BAKLBR; eop