Untitled

111
 avatar
unknown
plain_text
2 years ago
1.4 kB
5
Indexable
unit Unit1;

interface

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

type
    Matrix = array of array of Extended;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;



implementation

{$R *.dfm}
procedure InputMatrix(M: Matrix; rows, cols: Integer; SG:TStringGrid);
var i,j:integer;
begin
  SetLength(M,rows,cols);
   for i:=0 to rows-1 do begin
    for j:=0 to cols-1 do
        begin
        M[i,j]:=strtofloat(SG.Cells[j,i]);
        end;
      end;

end;


function Average(M: Matrix; rows, cols: Integer): Real;
var i,j:integer;
ans:Real;
begin
  ans:=0;
  for i:=0 to rows-1 do begin
    for j:=0 to cols-1 do
      begin
        ans:=ans+M[i,j];
      end;
    end;
    Result:=ans/(rows*cols);

end;



procedure TForm1.Button1Click(Sender: TObject);
var X:Matrix;
var Y: Matrix;
begin
  InputMatrix(X,3,4,StringGrid1);
  InputMatrix(Y,4,2,StringGrid2);
  edit1.Text:=floattostr(Average(X, 3, 4));
  edit2.Text:=floattostr(Average(Y, 4, 2));
end;

end.
Editor is loading...