program Sachy; {$APPTYPE CONSOLE} uses SysUtils; const maxdim = 30; {maximalni rozmer sachovnice} inic = -1; {inicialni hodnota na sachovnici} prazdne = '-'; {symbol tisknuty na prazdna pole} okraj = '#'; {symbol tvorici okraj sachovnice} type pole = record cislo:integer; end; var sach : array [1..maxdim,1..maxdim] of pole; dim, start_x, start_y, cil_x, cil_y : integer; procedure Vstup; begin write('Zadej rozmer sachovnice (nejvyse', maxdim,'): '); readln(dim); write('Zadej startovni radek (nejvyse', dim,'): '); readln(start_x); write('Zadej startovni sloupec (nejvyse', dim,'): '); readln(start_y); {write('Zadej cilovy radek (nejvyse', dim,'): '); readln(cil_x); write('Zadej cilovy sloupec (nejvyse', dim,'): '); readln(cil_y)} end; procedure Inicializace; var i,j :integer; begin for i:=1 to dim do for j:=1 to dim do sach[i,j].cislo := inic; sach[start_x,start_y].cislo:=0 end; procedure Tisk; var i,j :integer; begin writeln; for j:=1 to 2*dim+3 do write(okraj); writeln; {horni okraj} for i:= 1 to dim do begin write(okraj); {levy okraj} for j:=1 to dim do if (sach[i,j].cislo=inic) then write(' ',prazdne) else write(sach[i,j].cislo:2); write(' ',okraj); writeln; {pravy okraj} end; for j:=1 to 2*dim+3 do write(okraj); writeln; {dolni okraj} readln {cekani na odklepnuti pomoci Enter} end; begin {hlavni program} Vstup; Inicializace; Tisk; end.