Program StromNaVenkove;

type Strom = ^Venkovani;
     Venkovani = record
       informace:String;
       prvni, druhy: Strom;
     end;

var Ludmila : Strom;
    venkovan : array[1..20] of ^Venkovani;
    i:integer;

begin
  new(Ludmila);

  for i:=1 to 20 do
    new(venkovan[i]);

  Ludmila^.informace:='Marie a Milan spolu byli sami v lese.';
  Ludmila^.prvni:=venkovan[1];
  Ludmila^.druhy:=venkovan[2];
  venkovan[1]^.informace:=Ludmila^.informace;
  venkovan[2]^.informace:=Ludmila^.informace;
  writeln(venkovan[1]^.informace);
  writeln(venkovan[2]^.informace);

  {ruen dynamickch promnnch}
  dispose(Ludmila^.prvni);
  dispose(Ludmila^.druhy);

  for i:=3 to 20 do
    dispose(venkovan[i]);
  {Prvn dva indexy jsme zruili od Ludmily,
    proto zanme a od trojky.}

  dispose(Ludmila);

  writeln('Dynamick promnn jsou zrueny');
  readln();

// Skuten vyuit dynamickch struktur se provede zapojenm cykl,
// ne pi pouhm vyuit statick promnn array.
// Jak by vypadalo pidvn dalch uzl,
// kdy by ho dil sm uivatel, poznme v sti o zsobnku
// a front.

// Bude jasn, e promnnou venkovan typu array bychom pi tom vbec
// nepotebovali. Zde vak poslouila k lep nzornosti pkladu.

end.