Добавил:
Источник:
Uman
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:02 семестр / Задачи на Paskal / Stringgrid. Примеры задач / StringGrid. Перемещение диагоналей матрицы / Unit2
.pas unit Unit2;
interface
type matr=array[1..20,1..20] of integer;
procedure input(var a:matr; m,n:integer);
procedure min1(var a:matr; m,n:integer; var imin,jmin:integer);
procedure up1(var a:matr; m,n:integer; var imin,jmin:integer);
procedure left1(var a:matr; m,n:integer; var imin,jmin:integer);
implementation
procedure input(var a:matr; m,n:integer);
var i,j:integer;
begin randomize;
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(50)+1;
end; end;
end;
procedure min1(var a:matr; m,n:integer; var imin,jmin:integer);
var i,j,min:integer;
begin
min:=51;
for I := 1 to n do begin
for j := 1 to m do begin
if a[i,j]<min then begin min:=a[i,j]; imin:=i; jmin:=j; end;
end;
end;
end;
procedure up1(var a:matr; m,n:integer; var imin,jmin:integer);
var i,j:integer;
begin
for i := imin to n-1 do begin
for j := 1 to m do begin
a[i,j]:=a[i+1,j];
end;
end;
end;
procedure left1(var a:matr; m,n:integer; var imin,jmin:integer);
var i,j:integer;
begin
for j := jmin to m-1 do begin
for i := 1 to n do begin
a[i,j]:=a[i,j+1];
end;
end;
end;
end.
interface
type matr=array[1..20,1..20] of integer;
procedure input(var a:matr; m,n:integer);
procedure min1(var a:matr; m,n:integer; var imin,jmin:integer);
procedure up1(var a:matr; m,n:integer; var imin,jmin:integer);
procedure left1(var a:matr; m,n:integer; var imin,jmin:integer);
implementation
procedure input(var a:matr; m,n:integer);
var i,j:integer;
begin randomize;
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(50)+1;
end; end;
end;
procedure min1(var a:matr; m,n:integer; var imin,jmin:integer);
var i,j,min:integer;
begin
min:=51;
for I := 1 to n do begin
for j := 1 to m do begin
if a[i,j]<min then begin min:=a[i,j]; imin:=i; jmin:=j; end;
end;
end;
end;
procedure up1(var a:matr; m,n:integer; var imin,jmin:integer);
var i,j:integer;
begin
for i := imin to n-1 do begin
for j := 1 to m do begin
a[i,j]:=a[i+1,j];
end;
end;
end;
procedure left1(var a:matr; m,n:integer; var imin,jmin:integer);
var i,j:integer;
begin
for j := jmin to m-1 do begin
for i := 1 to n do begin
a[i,j]:=a[i,j+1];
end;
end;
end;
end.