| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Pascal] решение транспортной задачи |
| Автор: raikodima 1.11.2008, 23:50 |
| Народ есть вся программа которая вычисляет опорный план по методу минимума в строке. Не могли бы помочь с переделыванием под метод минимума в матрице? Вот исходник фрагмента где вычисляется минимум в строке. Заранее спасибо. Вся программа прилагается. {Процедура создания опорного плана методом минимума в строке} procedure f3 (var c:matr; n,m:integer; a,b:mas); var min,i,j,minj,max,maxj:word; begin stemp:=0; for i:=1 to n do for j:=1 to m do x[i,j]:=0; for i:=1 to n do while a[i]<>0 do begin max:=c[i,1]; maxj:=1; for j:=1 to m do if max<c[i,j] then begin max:=c[i,j]; maxj:=j; end; min:=max; minj:=maxj; for j:=1 to m do if (c[i,j]<min) and (b[j]>0) and (x[i,j]=0) then begin min:=c[i,j]; minj:=j; end; if (a[i]>b[minj]) then begin x[i,minj]:=b[minj]; a[i]:=a[i]-b[minj]; b[minj]:=0; end; if b[minj]>=a[i] then begin x[i,minj]:=a[i]; b[minj]:=b[minj]-a[i]; a[i]:=0; end; end; for i:=1 to 5 do for j:=1 to 5 do begin temp[i,j]:=x[i,j]; stemp:=stemp+(c[i,j]*x[i,j]); end; end; |