Advertisement
Guest User

Untitled

a guest
Feb 1st, 2015
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.33 KB | None | 0 0
  1. miasta =^ miasto
  2. miasto = record
  3.   dystans: integer;
  4.   LiczbaPkt: integer;
  5.   miasta: next;
  6.   end;
  7.  
  8. procedure Poruszanie_Sie_Po_Liscie(var newlist: miasta);   //porusza sie po liscie az nie zostana 2 miasta
  9. var odleglosc: integer;
  10.     tmp, tmpprev: miasta;
  11.     lider: miasta;
  12. begin
  13.   while  tmp^.next^.next <> tmp do
  14.     begin
  15.       tmp := miasta;
  16.       odleglosc := tmp^.dystans;
  17.         while odleglosc <> 0 do
  18.           begin
  19.             tmp := tmp^.next;
  20.             tmp^.dystans := tmp^.dystans + odleglosc - 1;
  21.             odleglosc := odleglosc - 1;
  22.           end;
  23.     tmpprev := tmp;
  24.     tmp := tmp^.next;
  25.     tmpprev^.next := tmp^.next;
  26.     newlist^next := tmp;
  27.     dispose(tmp);
  28.     end;
  29. end;
  30.  
  31. function Zlicz_Pkt(var newlist: miasta): miasta; //zlicza pkt wszystkich miast odwiedzonych
  32. var tmp, newlist, lider, rowne: miasta;
  33. begin
  34. rowne := newlist
  35. newlist := newlist^.next;
  36.   while rowne <> newlist do
  37.     begin
  38.       while jakis tu warunek do
  39.         begin
  40.           if tmp^.dystans < newlist^.dystans then
  41.           newlist^.LiczbaPkt := newlist^.LiczbaPkt + 1;
  42.  
  43.           tmp := tmp^.next;
  44.         end;
  45.       newlist := newlist^.next;
  46.       if lider^.LiczbaPkt > newlist^.LiczbaPkt then
  47.         lider := newlist;
  48.     end;
  49. end;
  50.  
  51. begin
  52.   Poruszanie_Sie_Po_Liscie(newlist);
  53.   Zlicz_Pkt(newlist);
  54. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement