program lab_4;
const
cols=4;
rows=3;
k=3;
type
Array2D:array [1..rows] of array [1..cols] of double;
procedure enter(var m:Array2D; name:string);
var
i,j:integer;
begin
for i:=1 to rows do
for j:=1 to cols do begin
write(name,'[',i,',',j,']=? ');
read(m[i,j]);
end;
end;
procedure print(m:Array2D; name:string);
var
i,j:integer;
begin
writeln('Array ',name,' = {');
for i:=1 to rows do begin
write(' ');
for j:=1 to cols do begin
write(m[i,j],' ');
end;
writeln;
end;
writeln('}');
end;
procedure generate(var m:Array2D);
var
i,j:integer;
begin
for i:=1 to cols do
for j:=1 to rows do
m[i,j]:=1.0/(i+j-1.0);
end;
procedure ShiftColumns(k : word; var arr : Array2D);
procedure Shift(var arr : Array2D);
var
i,j:integer;
tmp:double;
begin
for i:=1 to rows do begin
tmp:=m[i,cols];
for j:=1 to cols-1 do begin
m[i,j+1]:=m[i,j];
end;
m[i,1]:=tmp;
end;
end;
var
i:integer;
begin
for i:=k downto 1 do
Shift(arr);
end;
begin
end.
program Arr2D;
const
cols=4;
rows=3;
k=3;
type
Array2D= array [1..rows] of array [1..cols] of double;
procedure enter(var m:Array2D; name:string);
var
i,j:integer;
begin
for i:=1 to rows do
for j:=1 to cols do begin
write(name,'[',i,',',j,']=? ');
read(m[i,j]);
end;
end;
procedure print(m:Array2D; name:string);
var
i,j:integer;
begin
writeln('Array ',name,' = {');
for i:=1 to rows do begin
write(' ');
for j:=1 to cols do begin
write(m[i,j],' ');
end;
writeln;
end;
writeln('}');
end;
procedure generate(var m:Array2D);
var
i,j:integer;
begin
for i:=1 to cols do
for j:=1 to rows do
m[i,j]:=1.0/(i+j-1.0);
end;
procedure ShiftColumns(k : word; var arr : Array2D);
procedure Shift(var arr : Array2D);
var
i,j:integer;
tmp:double;
m:Array2D;
begin
for i:=1 to rows do begin
tmp:=m[i,cols];
for j:=1 to cols-1 do begin
m[i,j+1]:=m[i,j];
end;
m[i,1]:=tmp;
end;
end;
var
i:integer;
begin
for i:=k downto 1 do
Shift(arr);
end;
begin
{А вот тут ваши действия}
end.