{$MODE OBJFPC}{$LONGSTRINGS ON}
type
TMyArray = array [0 .. 3, 0 .. 3] of String;
procedure Fill(out AMyArray: TMyArray);
var
X, Y: Integer;
begin
for X := 0 to 3 do
for Y := 0 to 3 do
AMyArray[X, Y] := Chr(65 + Y) + Chr(49 - X + 3);
end;
procedure Print(const AMyArray: TMyArray);
var
X, Y: Integer;
begin
for X := 0 to 3 do
begin
for Y := 0 to 3 do
Write(AMyArray[X, Y]:3);
WriteLn();
end;
WriteLn();
end;
procedure Rotate180(var AMyArray: TMyArray);
var
X, Y: Integer;
Temp: String;
begin
for X := 0 to 1 do
for Y := 0 to 3 do
begin
Temp := AMyArray[X, Y];
AMyArray[X, Y] := AMyArray[3 - X, 3 - Y];
AMyArray[3 - X, 3 - Y] := Temp;
end;
end;
var
MyArray: TMyArray;
begin
Fill(MyArray);
Print(MyArray);
Rotate180(MyArray);
Print(MyArray);
end.
eyRNT0RFIE9CSkZQQ317JExPTkdTVFJJTkdTIE9OfQoKdHlwZQogIFRNeUFycmF5ID0gYXJyYXkgWzAgLi4gMywgMCAuLiAzXSBvZiBTdHJpbmc7CgogIHByb2NlZHVyZSBGaWxsKG91dCBBTXlBcnJheTogVE15QXJyYXkpOwogIHZhcgogICAgWCwgWTogSW50ZWdlcjsKICBiZWdpbgogICAgZm9yIFggOj0gMCB0byAzIGRvCiAgICAgIGZvciBZIDo9IDAgdG8gMyBkbwogICAgICAgIEFNeUFycmF5W1gsIFldIDo9IENocig2NSArIFkpICsgQ2hyKDQ5IC0gWCArIDMpOwogIGVuZDsKCiAgcHJvY2VkdXJlIFByaW50KGNvbnN0IEFNeUFycmF5OiBUTXlBcnJheSk7CiAgdmFyCiAgICBYLCBZOiBJbnRlZ2VyOwogIGJlZ2luCiAgICBmb3IgWCA6PSAwIHRvIDMgZG8KICAgIGJlZ2luCiAgICAgIGZvciBZIDo9IDAgdG8gMyBkbwogICAgICAgIFdyaXRlKEFNeUFycmF5W1gsIFldOjMpOwoKICAgICAgV3JpdGVMbigpOwogICAgZW5kOwoKICAgIFdyaXRlTG4oKTsKICBlbmQ7CgogIHByb2NlZHVyZSBSb3RhdGUxODAodmFyIEFNeUFycmF5OiBUTXlBcnJheSk7CiAgdmFyCiAgICBYLCBZOiBJbnRlZ2VyOwogICAgVGVtcDogU3RyaW5nOwogIGJlZ2luCiAgICBmb3IgWCA6PSAwIHRvIDEgZG8KICAgICAgZm9yIFkgOj0gMCB0byAzIGRvCiAgICAgIGJlZ2luCiAgICAgICAgVGVtcCA6PSBBTXlBcnJheVtYLCBZXTsKICAgICAgICBBTXlBcnJheVtYLCBZXSA6PSBBTXlBcnJheVszIC0gWCwgMyAtIFldOwogICAgICAgIEFNeUFycmF5WzMgLSBYLCAzIC0gWV0gOj0gVGVtcDsKICAgICAgZW5kOwogIGVuZDsKCnZhcgogIE15QXJyYXk6IFRNeUFycmF5OwpiZWdpbgogIEZpbGwoTXlBcnJheSk7CiAgUHJpbnQoTXlBcnJheSk7CgogIFJvdGF0ZTE4MChNeUFycmF5KTsKICBQcmludChNeUFycmF5KTsKZW5kLg==