program prak4t(input,output); {Aufgabe 4.6 von RenÉ Scholz}
uses crt;
const leerstring='                                                  ';

type
     words    = array[1..50] of char;
     woerter  = ^worte;
     vektoren = ^matrix;

     worte=record
             wort        : words;  {array [1..50] of char}
             naechstes   : woerter;
          end;

     matrix=record
               zeile           :words;  {array [1..50] of integer}
               neachste_zeile  :vektoren;
            end;


var erstes,altes,neues   :woerter;
    i,z                  :integer;
    stop                 :boolean;
    wortw                :words;  {array[1..50] of char}
    erste,
    letzte,
    aktuelle             :vektoren;


procedure lies_string;
var f,k :integer;
for f:=1 to 50 do
 begin
 read(neues^.wort[f]);
 if ord(neues^.word[f])=13 then
  begin
   for k:=f to 50 do
    neues^.word[f]:=' ';
   f:=50;
  end;
 end;



function test(testword :words):boolean;
var  feld  :words;
     k     :integer;
begin
 feld:=testword;
 for k:=1 to 50 do
  begin




begin
 clrscr;
 new(neues);
 erstes:=neues;
 erstes^.wort:='';
 erstes^.naechstes:=nil;
 neues:=erstes;
 altes:=erstes;

 stop:=false;
 i:=0;
 writeln('Die Woerter koennen maximal 50 Zeichen lang sein ! ');

repeat
  new(neues);
  i:=i+1;
  write('Wort ',i,' ?  ');lies_string{(neues^.wort)};
  if neues^.wort='' then
   begin
    dispose(neues);
    neues:=altes;
    stop:=true;
    i:=i-1;
   end

  else
   begin
    altes^.naechstes:=neues;
    altes:=neues;
   end;
until stop=true;

neues^.naechstes:=nil;

clrscr;
write('Geben Sie das Wort w ein ! ');
readln(wortw);

neues:=erstes^.naechstes;

writeln('Ausgabe ihrer Woerter .');
for z:=1 to i do
 begin
  write('Wort Nr. ',z,' ist :   ');
  writeln(neues^.wort);
  neues:=neues^.naechstes;
  writeln;
 end;


repeat until keypressed;

end.