var
Form6: TForm6;
massiv,massiv1,massiv2: array of array of integer;
k, n:integer;
implementation
{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
begin
k:=strtoInt(InputBox('Размер массива', 'Введите число строк в массиве','0'));
n:=strtoInt(InputBox('Размер массива', 'Введите число столбцов в массиве','0'));
SetLength(massiv,n,k);
SetLength(massiv1,n,k);
SetLength(massiv2,n,k);
end;
procedure TForm6.Button2Click(Sender: TObject);
var
i,j:integer;
begin
for i:=0 to n-1 do
for j:=0 to k-1 do
massiv[i,j]:=strtoint(InputBox('Элементы массива', 'Введите'+inttostr(i)+inttostr(j)+' элемент массива','0'));
end;
procedure TForm6.Button3Click(Sender: TObject);
var s:string;
x,y,t,i2,j2,i,j:integer;
begin
for i:=0 to n-1 do
for j:=0 to k-1 do
if massiv[i,j]>100 then begin i2:=x ; j2:=y;
end;
begin
for i:=0 to n-1 do begin
for j:=0 to k-1 do
if j=y then massiv2[i,j]:=massiv[i,2] else massiv2[i,j]:=massiv[i,j];
end;
for x:=0 to n-1 do begin
for y:=0 to k-1 do
t:=massiv[x,y];
massiv[x,y]:=massiv[i,j];
massiv[i,j]:=t;
edit1.text:=inttostr(t);
for i:=0 to n-1 do
begin
s:='';
for j:=0 to k-1 do
begin
s:=s+inttostr(massiv[i,j])+' ';
end;
end;
end;
end;
end;
2)Задача: Дан двумерный массив размером n x n, заполненный целыми числами. Выяснить, является ли массив магическим квадратом. В магическом квадрате суммы элементов по всем строкам, столбцам и двум диагоналям равны. Значение, которому должны быть равны суммы, определить самостоятельно.
код:
var a:array of array integer;
magic,
i,j
sum, sum_base:integer;
begin
magic:=1;
sum_base:=0;
for i:=1 to n do
sum_base:=sum_base+a[1,i];
for i:=2 to n do
begin
sum:=0;
for j:=1 to n do
sum:=sum+a[i,j];
if sum<>sum_base then magic:=0;
end;
for j:=1 to n do
begin
sum:=0;
for i:=1 to n do
sum:=sum+a[i,j];
if sum<>sum_base then magic:=0;
end;
sum:=0;
for i:=1 to n do
sum:=sum+a[i,i];
if sum<>sum_base then magic:=0;
sum:=0;
for i:=1 to n do
sum:=sum+a[i,10-i+1];
if sum<>sum_base then magic:=0;
if (magic=1) then
edit1.text:='Матрица является Магическим квадратом'
else
edit1.text:='Матрица не является Магическим квадратом';
end;
3)Определить координаты первого минимального элемента побочной диагонали квадратного массива.
код:
var
Form6: TForm6;
massiv,massiv1: array of array of integer;
k, n,i,j:integer;
implementation
{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
begin
k:=strtoInt(InputBox('Размер массива', 'Введите число строк в массиве','0'));
n:=strtoInt(InputBox('Размер массива', 'Введите число столбцов в массиве','0'));
SetLength(massiv,n,k);
SetLength(massiv1,n,k);
end;
procedure TForm6.Button2Click(Sender: TObject);
var
i,j:integer;
begin
for i:=0 to n-1 do
for j:=0 to k-1 do
massiv[i,j]:=strtoint(InputBox('Элементы массива', 'Введите'+inttostr(i)+inttostr(j)+' элемент массива','0'));
end;
procedure TForm6.Button3Click(Sender: TObject);
var s:string;
min,j:integer;
begin
j:=1;
min:=massiv[1,n-1];
for i:=1 to n-1 do
if massiv[i,n-1-i]<min then
begin
min:=massiv[i,n-1-i];
j:=i;
end;
edit1.text:= inttostr(min);
edit2.text:= inttostr(j);