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.