Advertisement
apfel2kuchen

Untitled

Mar 12th, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. procedure dreieckPascal (var Refliste, outListe : tRefliste);
  2. var
  3. Last : tRefListe;
  4. Zeiger : tRefliste;
  5. AnfangB : tRefListe; {Wird für den Anfang der Liste Benötigt}
  6. ZeigerB : tRefListe;
  7. NewElementB : tRefListe;
  8.  
  9. begin
  10. Zeiger := RefListe;
  11. { Ans ende der liste gehen, um den Wert 1 in neue liste zu schreiben }
  12. while zeiger^.Next <> NIL do
  13. begin
  14. Zeiger := Zeiger^.Next;
  15. end;
  16. new (AnfangB);
  17. { Liste B bekommt wert 1}
  18. AnfangB := Zeiger;
  19. AnfangB^.Next := NIL;
  20. ZeigerB := AnfangB;
  21. { Last wird auf das Letzte Element von Liste A gesetzt}
  22. Last := Zeiger;
  23. { Zeiger Soll wieder auf das 1 Element der Liste A Zeigen }
  24. Zeiger := RefListe;
  25. { Solange bis Das 1 Element der Liste A erreicht}
  26. while Zeiger <> Last do
  27. begin
  28. { Rechne Zeiger + Last und hänge es in ListeB ein }
  29. if Zeiger^.next = Last then
  30. begin
  31. writeln ('Drinnen');
  32. new(NewElementB);
  33. NewElementB^.Info := Zeiger^.Info + Last^.Info; {Rechnet den Wert vor dem Letzten + den Letzten}
  34. NewElementB^.Next := ZeigerB; {Zeiger B steht auf dem Anfang der Liste}
  35. ZeigerB := NewElementB; {Anfangszeiger auf neuen Anfangsetzen}
  36. Last := Zeiger; { Last mit dem Aktuellen Zeiger inizialisieren}
  37. Zeiger := RefListe; {Zeiger wieder auf Listen Anfang von A setzen}
  38. end {IF}
  39. else
  40. begin
  41. { Gehe zum Nächsten Element in ListeA }
  42. Zeiger := Zeiger^.Next;
  43. end {ELSE}
  44. end; {WHILE}
  45. new (NewElementB); { Die 1 an den Listen Anfang Setzten }
  46. NewElementB := Zeiger;
  47. NewElementB^.Next := ZeigerB;
  48. ZeigerB := NewElementB;
  49. outliste := ZeigerB; {Outlist auf den ListenAnfangB setzen}
  50. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement