Program Z21; uses crt; {�뢮� �� ��࠭} type matr =array [1..6,1..6] of integer; {���ᠭ�� ��६�����} matr2=array[1..6,1..6] of integer; var a: matr; tabl:matr2; Error: integer; for_0,for_1,for_2: char; i,j, n,k: byte; ch:char; {��६����� ��� �࠭���� ���� ᨬ���� ����⮩ ������} nam_e:string; {��ப��� ���ࠫ} {---------------���� ���祭�� ������⮢ ���ᨢ�(���, ��ப�, �⮫���)---------------} Procedure Mv (var n, k: byte; var nam_e: string); var error:integer; Begin {1} Gotoxy (2,3); textcolor(green); Write ('������ ��� ������: '); Readln (nam_e); Clrscr; Repeat {��砫� 横�� � ���������} Gotoxy(4,4); textcolor(lightblue); Writeln ('���ᨬ��쭮 �����⨬�� ࠧ��୮��� ������ - 6�6 ������⮢'); {---------------���� ࠧ��୮�� ������---------------} gotoxy(4,6); textcolor(lightcyan); Write('������ ������⢮ ��ப ������ ', nam_e,': '); {$i-}; Readln (n); error:=IOresult; {$i+}; If (n<1) or (n>6) or (Error<>0) then Begin {2} Textattr:=lightred; Writeln ('�訡��! ������⢮ ��ப ������ - �� 1 �� 6. ������ ����!'); End; {2} Until (n>=1) and (n<=6) and (Error=0); {����� 横�� � ���������} begin {3} Repeat Gotoxy (4,8); Textattr:=cyan; Write ('������ ������⢮ �⮫�殢 ������ ', nam_e,': '); {$i-}; Readln (k); error:=IOresult; {$i+}; If (k<1) or (k>6) or (Error<>0) then Begin {4} Textattr:=lightred; Writeln ('�訡��! ������⢮ �⮫�殢 ������ - �� 1 �� 6. ������ ����!'); End; {4} Until (k>=1) and (k<=6) and (Error=0); End; {3} end; {1} {---------------���� ������⮢ ������ (��砩�� �)---------------} Function Random(n,k: byte; var A: Matr) :integer; var i,j : byte; begin {1} for i:=1 to n do begin {2} for j:=1 to k do begin {3} A[i,j]:= system.random(19)-9; write(A[i,j]:4); end;{3} end; {2} end; {4} {---------------���� ������⮢ ������(������⥫��)---------------} Procedure Ml (var TABL: Matr2); var i,j: integer; begin {1} gotoxy(3,4); textattr:=yellow; writeln('������⥫�� ��������: '); for i:=1 to n do begin {2} for j:=1 to k do begin {3} if a[i,j]>0 then write(a[i,j]:4) else write(' ' ); TABL[i,j]:=A[i,j]; writeln; end; {3} end; {2} end; {1} {---------------���� ������⮢ ������(����⥫��)---------------} Procedure Md ( var TABL: Matr2); var i,j: integer; begin {1} gotoxy(3,4); writeln('����⥫�� ��������: '); for i:=1 to n do begin {2} for j:=1 to k do if a[i,j]<0 then write(a[i,j]:4) else write (' '); TABL[i,j]:=A[i,j]; writeln; end; {2} readln; end; {1} {---------------���� ������⮢ ������(��ᯮ������� ��室��� � �८�ࠧ�������)---------------} Procedure Raspl (for_2:char); Var I,j: byte; label L1; Begin {1} clrscr; gotoxy(25,1); Textattr:=lightgreen; writeln('��室��� �����'); Textattr:=yellow; writeln(nam_e); writeln; Textattr:=lightblue; Gotoxy (1, 3); For i:= 1 to n do begin {2} For j:=1 to k do Write (A[i,j]:5, ' '); writeln; end; {2} Case for_2 of {3} #112,#80: begin {1} gotoxy(n+38,2); {��ࠢ� �� ��室���} Textattr:=yellow; writeln(nam_e); writeln; window(40,3,80,15); Textattr:=lightblue; For i:=1 to n do begin {2} For j:=1 to k do Write (TABL[i,j]:5, ' '); writeln; end; {2} end; {1} #76,#108: begin {1} Textattr:=yellow; {��� ��室���} Gotoxy (2,k+7); writeln(nam_e); writeln; gotoxy(1,k+10); Textattr:=lightblue; For i:= 1 to n do begin {2} For j:=1 to k do Write (TABL[i,j]:5, ' '); writeln; End; {2} end; {1} end; {3} end; {1} begin Mv (n,k,nam_e); clrscr; textattr:=magenta; Writeln ('����� � �ᯮ�짮���� � �����?R-��砩��,U-ᮡ�⢥���' ); readln(for_0); case for_0 of {2} #82,#114: Random(n,k,A); #85,#117: begin {3} clrscr; textattr:=white; writeln('������ �������� ������'); {���� ������⮢ ������} for i:=1 to n do begin {4} for j:=1 to k do begin {5} repeat write ('������ a[',i,' ',j,']'); {$i-}; readln(a[i,j]); error:=IOresult; {$i+}; If (a[i,j]<-10000) or (a[i,j]>10000) or (Error<>0) then Begin {6} Textattr:=lightred; Writeln ('�訡��!������ ����!'); End; {6} until (a[i,j]<=10000) and (a[i,j]>=-10000) ; end; {5} writeln; end; {4} end; {3} end; {2} clrscr; textattr:=lightgreen; writeln ('����� �������� ������ �뢥��? �-������⥫��,Q-����⥫�� '); readln(for_1); case for_1 of {7} #77, #109:Ml (TABL); #81, #113:Md (TABL); end; {7} clrscr; textattr:=green; writeln('� ����� ���� �뢥�� ������?'); textattr:=brown; writeln('����� ����� �ࠢ� �� ��室���-S,��� ��室���-L'); for_2:=readkey; clrscr; gotoxy(1,15); textattr:=lightcyan; writeln('������� ��ࠡ�⪨: '); writeln; Raspl (for_2); window (20,24,80,25); readln; {8} end. {1}