Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
02.05.2014
Размер:
3.64 Кб
Скачать
unit Unit6;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, Buttons, Spin;

type
TForm6 = class(TForm)
GroupBox1: TGroupBox;
StringGrid1: TStringGrid;
GroupBox2: TGroupBox;
StringGrid2: TStringGrid;
BitBtn5: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
GroupBox3: TGroupBox;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
Label2: TLabel;
procedure BitBtn5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type smej=array[1..50,1..50] of integer;
incidencii=array[1..50,1..1000] of integer;
var
Form6: TForm6;
ver,reb,i,j,c:integer;
ms:smej;
mi:incidencii;

implementation

{$R *.dfm}
{-------------------------------}
{-------------------------------}
function MStoMI(ms:smej;ver:integer):incidencii;
var mi:incidencii;
begin
end;

procedure refreshtable;
begin

with form6 do
begin
SpinEdit1.Value:=ver;
SpinEdit2.Value:=reb;
StringGrid1.ColCount:=ver+1;
StringGrid1.rowCount:=ver+1;
StringGrid2.rowCount:=ver+1;
StringGrid2.colCount:=reb+1;
for i:=1 to ver do
begin
StringGrid1.Cells[0,i]:=inttostr(i);
StringGrid1.Cells[i,0]:=inttostr(i);
StringGrid2.Cells[0,i]:=inttostr(i);
end;
for i:=1 to reb do
StringGrid2.Cells[i,0]:='e'+inttostr(i);
end;
end;
{-------------------------------}
{-------------------------------}
procedure TForm6.BitBtn5Click(Sender: TObject);
begin
close;
end;

procedure TForm6.FormCreate(Sender: TObject);
begin
SpinEdit1.Text:='4';
SpinEdit2.Text:='4';
ver:=4;
reb:=4;
refreshtable;
end;

procedure TForm6.BitBtn1Click(Sender: TObject);
begin
if spinEdit1.Text<>'0'then
begin
ver:=SpinEdit1.Value;
reb:=SpinEdit2.Value;
refreshtable;
end
else MessageDlg('Непрально заданы значения',mtWarning,[mbYes],0);
end;

procedure TForm6.BitBtn3Click(Sender: TObject);
begin
for i:=1 to ver do
for j:=1 to reb do
mi[i,j]:=0;
reb:=0;
for i :=1 to ver do
for j:=1 to ver do
begin
if StringGrid1.Cells[j,i]<>'' then
ms[i,j]:= strtoint(StringGrid1.Cells[j,i])
else ms[i,j]:=0;

if ms[i,j]<>0 then
begin
reb:=reb+1;
mi[i,reb]:=1;
if mi[j,reb]=0 then
mi[j,reb]:=-1
else mi[j,reb]:=1;
end;
end;
refreshtable;
for i:=1 to ver do
for j:=1 to reb do
begin
if mi[i,j]<>0 then StringGrid2.Cells[j,i]:=inttostr(mi[i,j])
else StringGrid2.Cells[j,i]:='0';
end;
end;

procedure TForm6.BitBtn4Click(Sender: TObject);
begin
for i:=1 to ver do
for j:=1 to ver do
StringGrid1.Cells[i,j]:='0';

for i:=1 to ver do
for j:=1 to reb do
begin
if StringGrid2.cells[j,i]<>'' then
mi[i,j]:=strtoint(StringGrid2.cells[j,i])
else mi[i,j]:=0;
if mi[i,j]=1 then
begin
c:=1;
for c:=1 to ver do
if (mi[c,j]=-1) then break;
ms[i,c]:=1;
StringGrid1.Cells[c,i]:='1';
end;
end;
end;
procedure TForm6.BitBtn2Click(Sender: TObject);
begin
ver:=1;
reb:=1;
refreshtable;
end;

end.
Соседние файлы в папке Мини-редактор графов