Получить и вывести массив В(stringgrid)

Тема в разделе "Pascal and Delphi", создана пользователем Kinect, 22 ноя 2010.

  1. Kinect

    Kinect Гость

    Задание:
    Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если k-я строка матрицы симметрична, и значение 0 в противном случае.

    Ребята помогите получить и вывести массив B.

    Код (Delphi):
    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,m,f,flag,x: 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;

    //Получаем и выводим массив B
    procedure TForm1.Button4Click(Sender: TObject);
    begin
    // Как это сделать??????
    end.
     

    Вложения:

    • Project.zip
      Размер файла:
      238,2 КБ
      Просмотров:
      19
  2. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Код (Delphi):
    const N=21;
    M=21;
    var
    i,j:integer;
    ind:boolean;
    begin
    for i:=1 to N do
    begin
    ind:=true;
    for j:=1 to M div 2;
    if a[i,j]<>a[i,m+1-j] then ind:=false;
    if ind=true then b[i]:=1 else b[i]:=0;
    end;
    end;
     
Загрузка...

Поделиться этой страницей