Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure dreieckPascal (var Refliste, outListe : tRefliste);
- var
- Last : tRefListe;
- Zeiger : tRefliste;
- AnfangB : tRefListe;
- ZeigerB : tRefListe;
- NewElementB : tRefListe;
- begin
- Zeiger := RefListe;
- { Ans ende der liste gehen, um den Wert 1 in neue liste zu schreiben }
- while zeiger^.Next <> NIL do
- begin
- Zeiger := Zeiger^.Next;
- end;
- new (AnfangB);
- AnfangB := Zeiger; { Liste B bekommt wert 1}
- AnfangB^.Next := NIL;
- ZeigerB := AnfangB;
- Last := Zeiger; { Last bekommt den Letzten Wert der Liste }
- Zeiger := RefListe; { Zeiger Soll wieder auf das 1 Element der Liste A Zeigen }
- { Wh }
- while Zeiger <> Last do
- begin
- if Zeiger^.next = Last then
- begin
- writeln ('Drinnen');
- new(NewElementB);
- NewElementB^.Info := Zeiger^.Info + Last^.Info; {Rechnet den Wert vor dem Letzten + den Letzten}
- NewElementB^.Next := ZeigerB; {Zeiger B steht auf dem Anfang der Liste}
- ZeigerB := NewElementB; {Anfangszeiger auf neuen Anfangsetzen}
- Last := Zeiger; { Last mit dem Aktuellen Zeiger inizialisieren}
- Zeiger := RefListe; {Zeiger wieder auf Listen Anfang von A setzen}
- end {IF}
- else
- begin
- Zeiger := Zeiger^.Next;
- end {ELSE}
- end; {WHILE}
- new (NewElementB); {Die 1 Am ende Setzen}
- NewElementB := Zeiger;
- NewElementB^.Next := ZeigerB;
- ZeigerB := NewElementB;
- outliste := ZeigerB; {Outlist auf den ListenAnfangB setzen}
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement