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; {Wird für den Anfang der Liste Benötigt}
- 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);
- { Liste B bekommt wert 1}
- AnfangB := Zeiger;
- AnfangB^.Next := NIL;
- ZeigerB := AnfangB;
- { Last wird auf das Letzte Element von Liste A gesetzt}
- Last := Zeiger;
- { Zeiger Soll wieder auf das 1 Element der Liste A Zeigen }
- Zeiger := RefListe;
- { Solange bis Das 1 Element der Liste A erreicht}
- while Zeiger <> Last do
- begin
- { Rechne Zeiger + Last und hänge es in ListeB ein }
- 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
- { Gehe zum Nächsten Element in ListeA }
- Zeiger := Zeiger^.Next;
- end {ELSE}
- end; {WHILE}
- new (NewElementB); { Die 1 an den Listen Anfang Setzten }
- 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