procedure vypis; (*Vypise polia*)
var pom: byte;
begin
clrscr;
gotoxy(1,1);
Writeln('Vypis polia : ');
gotoxy(1,2);
for pom:= 1 to Pocet_miest do Write(pole1[pom],' ');
Writeln;
for pom:= 1 to Pocet_miest do Write(pole2[pom],' ');
readkey;
clrscr;
napis_menu;
end;
procedure zmaz; (*Zmaze zadane pismeno z pola*)
var
pismeno : string[1];
pom : integer;
new_poz : byte;
pocet_pis : byte;
repeat (*Najde prve pismeno alebo to skonci ak nenajde*)
inc(pom);
until (pole1[pom]=pismeno) or (pom=Pocet_miest);
if pole1[pom]=pismeno then
begin
repeat (*Repeat uskutocny zmazanie podla pola2*)
new_poz:=pom;
pole1[new_poz]:=' ';
pom:=pole2[new_poz];
pole2[new_poz]:=Free;
until pom=_End;
Writeln('Mas to prec!'); (*Vypise ukoncenie*)
end
else Writeln('Boh vie co sa stalo!');
Readkey;
napis_menu;
end;
procedure uloz; (*Ulozi pismenko do pola + jeho pozicie*)
var
pom1,pom : byte;
dalej : boolean;
volne_miesta : byte;
zaplnene_miesta : byte;
zaberat : byte;
old_poz : byte;
pismeno : string[1];
for pom:= 1 to pocet_miest do
if pole2[pom]<>Free then
inc(zaplnene_miesta);
if zaplnene_miesta=pocet_miest then
dalej:=false;
if dalej=false then
begin
Writeln('Pole je plne musis ho zmazat');
readkey;
clrscr;
Napis_menu;
exit;
end;
gotoxy(1,1); (*Testovanie ci to tam vodje*)
repeat (*Zapise pismeno + osetrenia*)
Write('Ake pismenko chces zapisat? : ');
Readln(pismeno);
for pom:= 1 to pocet_miest do if pole1[pom]=pismeno then dalej:=false;
until (dalej=true)or(dalej=false);
if dalej=false then
begin
Writeln('Pismenko uz tam mas !');
readkey;
clrscr;
napis_menu;
exit;
end;
for pom:=1 to pocet_miest do
if pole2[pom]=Free then
inc(volne_miesta);
repeat (*Zapise miesto + osrtrenie*)
Write('Napis kolko ma zaberat miesta : ');
Readln(zaberat);
if zaberat>volne_miesta then Writeln('Mozes zabrat max. : ',volne_miesta,' miest.');
until zaberat<=volne_miesta;
pom:=0;
pom1:=0;
repeat (*Zapise pozicie pismen do druheho pola*)
inc(pom);
if pole1[pom]=' ' then
begin
inc(pom1);
pole1[pom]:=pismeno;
if (pom>1)and(old_poz>=1) then pole2[old_poz]:=pom;
old_poz:=pom;
end;
until pom1=zaberat;