![]() |
|
|
#1
|
|||
|
|||
![]() Парни очень нужна ваша помощь.
Есть задание: Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если k-я строка матрицы симметрична, и значение 0 в противном случае. Всё сделал, а вот получить и вывести массив B не выходит. Помогите пожалуйста. Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids; type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Edit2: TEdit; Label2: TLabel; StringGrid1: TStringGrid; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; StringGrid2: TStringGrid; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; A:array[1..21,1..21]of extended; B:array[1..21] of Extended; N,i,j,k: integer; implementation {$R *.dfm} //Размерность матрицы(StringGrid) procedure TForm1.Button1Click(Sender: TObject); begin N:=strtoint(edit1.text) ; StringGrid1.RowCount:=n+1; StringGrid1.ColCount:=N+1; StringGrid2.RowCount:=N+1; StringGrid1.Cells[0,0]:='Массив A'; StringGrid2.Cells[0,0]:='Массив B'; StringGrid1.Height:=20*(n+1)+5+n; StringGrid1.Width:=20*(n+1)+5+n; StringGrid2.Height:=20*(n+1)+5+n; for i:=1 to n do begin StringGrid1.Cells[0,i]:=inttostr(i); StringGrid1.Cells[i,0]:=inttostr(i); end; end; //Заполняем случайными числами procedure TForm1.Button2Click(Sender: TObject); begin for i:=1 to n do begin For j:=1 to n do begin Stringgrid1.Cells[i,j]:=floattostr(random(50)-20); Stringgrid1.Update; sleep(50); end; end; Button3.Enabled:=true; end; procedure TForm1.FormCreate(Sender: TObject); begin N:=3; StringGrid1.RowCount:=n+1; StringGrid1.ColCount:=N+1; StringGrid2.RowCount:=N+1; StringGrid1.Cells[0,0]:='Массив A'; StringGrid2.Cells[0,0]:='Массив B'; {StringGrid1.Height:=20*(n+1)+5+n; StringGrid1.Width:=20*(n+1)+5+n; StringGrid2.Height:=20*(n+1)+5+n;} for i:=1 to n do begin StringGrid1.Cells[0,i]:=inttostr(i); StringGrid1.Cells[i,0]:=inttostr(i); end; end; procedure TForm1.Button3Click(Sender: TObject); begin begin for i:=1 to n do begin For j:=1 to n do begin Stringgrid1.Cells[i,j]:=''; Stringgrid2.Cells[0,j]:=''; end; end; end; end; procedure TForm1.Button4Click(Sender: TObject); begin //Здесь получаем масси B(StringGrid2) //Только как это сделать. end; end. |