Здравствуйте. Одна из задач - задать матрицу инцидентности путём введения количества вершин и количества рёбер.
В каждом столбце матрицы должны быть либо две единицы со знаком+, т. е. 1 и 1, либо -1 и -1, либо -1 1, остальные нули. Тоесть не больше двух единиц в столбце. Столбцов с одной единицей или полностью с нулями быть не должно.
Написал код, вроде логически правильно, но чёто не работает) Подскажите что не так:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | procedure TForm1 . Button1Click(Sender: TObject);
begin
s:= 0 ;
Str:=StrToInt(edit1 . Text);
Stlb:=StrToInt(edit2 . Text);
StringGrid1 . ColCount:=Str+ 1 ;
StringGrid1 . RowCount:=Stlb+ 1 ;
for i:= 1 to Str do
for j:= 1 to Stlb do
StringGrid1 . Cells[i,j]:=IntToStr(random( 3 )- 1 );
begin
for i:= 1 to Str do
for j:= 1 to Stlb do
begin
if Abs (StrToInt(StringGrid1 . Cells[i,j]))= 1 then
begin
s:=s+ 1 ;
end ;
if s= 2 then
begin
for m:=i+ 1 to Str do
begin
StringGrid1 . Cells[m,j]:= '0' ;
end ;
end ;
end ;
end ;
end ;
end .
|
MAD: Учимся правильно оформлять код!