Grid;: TGroupBox;: TLabel;: TLabel;: TLabel;: TComboBox;: TButton;: TSpinEdit;: TSpinEdit;: TButton; Button1Click (Sender: TObject); ComboBox1KeyPress (Sender: TObject; var Key: Char); FormCreate (Sender: TObject); StringGrid1DrawCell (Sender: TObject; ACol, ARow: Integer;: TRect; State: TGridDrawState); StringGrid1KeyPress (Sender: TObject; var Key: Char); StringGrid1GetEditText (Sender: TObject; ACol, ARow: Integer; Value: String); SpinEdit1Change (Sender: TObject); SpinEdit2Change (Sender: TObject); SpinEdit1KeyPress (Sender: TObject; var Key: Char); SpinEdit2KeyPress (Sender: TObject; var Key: Char); Button2Click (Sender: TObject); opor_plan (ColCount, RowCount: integer);// опорний план
procedure raspred_metod (mas12: arr);// органазація розподільного методу
function sum_pot (StringGrid: TStringGrid): integer;// сума потребітелейsum_proiz (StringGrid: TStringGrid): integer;// сума проізводітелейFindPath (i, j: integer);// знаходження путіLookHorizontaly (u, v , u1, v1: integer): boolean;// перевіряємо чи є в рядку осередок яку можна взяти в контурAddElement (u, v: integer);// додаємо індекси елемента в дорогу контуру LookVerticaly (u, v, u1, v1: integer ): boolean;// перевіряємо чи є в стовпці осередок яку можна взяти в контурproced ();// процедура для знаходження від'ємного значення за сумою контураpereraspred (i: integer);// здійснюється побудова наступного опорного плану
{Private declarations}
{Public declarations}; n = 100;: TForm1;, koef2, mas: arr;// масиви коефіцієнтів розмірністю 100x100: integer;// велике чілсо: array of integer;// масив шляхи: array of array of integer;// масив контуру, qwe, kp: integer;: string; Unit2;
{$ R *. dfm} TForm1. Button1Click (Sender: TObject);, j, rc, cc: integer;: bool;: = false;: = StringGrid1. RowCount-1;// рядки: = StringGrid1. ColCount-1;// стовпці
// перевірка таблиці стоімостіi: = 1 to cc do
for j: = 1 to rc do (StringGrid1. Cells [i, j] ='') or (StringGrid1. Cells [i, j] = '0 ') then k: = true;
// перевірка на збалансованість программиk <> true then
beginsum_pot (StringGrid1) = sum_proiz (StringGrid1) then_plan (StringGrid1. ColCount, StringGrid1. RowCount) ShowMessage ('Завдання не збалансована, приведіть її до збалансованого увазі'); ShowMessage (Заповніть порожні клітини або приберіть нулі );
end; TForm1.comboBox1KeyPress (Sender: TObject; var Key: Char);: = # 0;; TForm1. FormCreate (Sender: TObject);: integer;: = 999999;. Cells [0,0]: = 'Матриця';. ColCount: = SpinEdit1. Value +2;// задаємо кількість стовпців = 2. RowCount: = SpinEdit2. Value +2;// задаємо кількість рядків = 2i: = 1 to StringGrid1. ColCount-2 do
StringGrid1. Cells [i, 0]: = 'A' + IntToStr (i); <...