begin
FillChar(Desk, SizeOf(Desk), false);
y:=1;
while not Eof(F) and (y<=Cy) do begin
Readln(F, S);
x:=1;
while (x<=Length(S)) and (x<=Cx) do begin
Desk[y,x]:= S[x]='+';
Inc(x); { x:= x+1 }
end;
Inc(y); { y:= y+1 }
end
end;
{ Вывод текущего состояния панели в текстовый файл }
procedure WriteDesk(var F: Text);
const CSymbols : string = '0+';
var x, y: integer; S: string;
begin
for y:=1 to Cy do begin
S:='';
for x:=1 to Cx do S:= S +
Writeln(F, S);
end;
end;
{ Вспомогательная процедура обмена местами булевых переменных }
procedure Swap (var a, b : boolean);
var t : boolean;
begin
t:=a; a:=b; b:=t;
end;
{ Отражение относительно вертикальной оси }
procedure Vert;
var x, y: integer;
begin
for y:=1 to Cy do
for x:=1 to
end;
{ Отражение относительно горизонтальной оси }
procedure Horisont;
var x, y: integer;
begin
for y:=1 to
for x:=1 to Cx do Swap(Desk[y, x], Desk[Cy-y+1, x])
end;
{ Инверсия рекламной панели }
procedure Invers;
var x, y: integer;
begin