Дана квадратная целочисленная матрица . Надо найти минимум среди сумм элементов диогоналей,паралелльных главной диогонали матрицы
Делаю визуально ,ввожу в стрингрид матрицу и нада вывести результат в мемо.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, Buttons;
type
TForm3 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
StringGrid1: TStringGrid;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
type matr=array[0..100,0..100]of integer;
var mt:matr;
x:byte;
implementation
uses Unit1;
{$R *.dfm}
procedure Vvod(var mt:matr;var x:byte);
var i,j:byte;
begin
randomize;
for i:=0 to x-1 do
for j:=0 to x-1 do
mt[i,j]:=random(20)-2;
end;
procedure Vivod(mt:matr;x:byte;StringGrid1:TstringGrid);
var i,j:integer;
begin
for i:= 0 to x-1 do
for j:=0 to x-1 do
StringGrid1.Cells[j,i]:=FloatToStr(Mt[i,j]);
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Button2.Enabled:=true;
StringGrid1.ColCount:=StrToInt(Edit1.Text);
StringGrid1.RowCount:=StrToInt(Edit1.Text);
x:= strtoint(edit1.text);
Vvod(Mt,x);
Vivod(Mt,x,StringGrid1);
end;
function SumDg(v:matr;x:byte;i:integer):integer;{подсчет сумм в диагоналях, параллельных главным}
var k,j,sum:integer;
begin
sum:=0;
if i