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.