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,anzahl :integer; stop :boolean; wortw :words; {array[1..50] of char} erste, letzte, aktuelle :vektoren; procedure lies_string; var f,k :integer; begin for f:=1 to 50 do begin read(neues^.wort[f]); if ord(neues^.wort[f])=13 then begin for k:=f to 50 do neues^.wort[k]:=' '; f:=50; end; end; end; procedure lies_wort_w; var f,k :integer; begin for f:=1 to 50 do begin read(wortw[f]); if ord(wortw[f])=13 then begin for k:=f to 50 do wortw[k]:=' '; f:=50; end; end; end; function test(testword :words):boolean; var feld :words; k :integer; begin feld:=testword; for k:=1 to 50 do begin end; end; begin {Main} clrscr; new(neues); erstes:=neues; erstes^.wort:=leerstring; 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[1]=' ' then begin dispose(neues); neues:=altes; stop:=true; i:=i-1; end else begin altes^.naechstes:=neues; altes:=neues; end; anzahl:=i; until stop=true; neues^.naechstes:=nil; clrscr; write('Geben Sie das Wort w ein ! '); {readln(wortw);} lies_wort_w; writeln; writeln('Sie haben ',anzahl,' Woerter eingegben , sowie das Wort w=',wortw); repeat until keypressed; end.