Użytkownik: reason
Tytuł: Ile identycznych elementow w lancuchu
Język: Pascal
Data: 8 lut 2010, 15:14
Kody powiązane:
Ocena:
program ilepowt; uses crt; type pnode = ^node; node = record val : integer; next : pnode; end; procedure dodaj(var head : pnode; a : integer); // procedura dodajaca element do lancucha; var w, tmp : pnode; begin if (head <> nil) then begin w := head; while (w^.next <> nil) do w := w^.next; end; new(tmp); tmp^.val := a; tmp^.next := nil; if head = nil then head := tmp else w^.next := tmp; end; function ile(a,b : pnode) : integer; begin if (a = nil) or (b = nil) then ile := 0 // tak sie zastanawiam czemu to dziala; wiecej info w mailu; else if a^.val > b^.val then ile := ile(a, b^.next) else if a^.val < b^.val then ile := ile(a^.next, b) else ile := ile(a^.next, b^.next) + 1; end; var head, head2 : pnode; begin head := nil; // tworze jeden lancuch dodaj(head, 2); dodaj(head, 3); dodaj(head, 11); dodaj(head, 13); head2 := nil; // tworze drugi lancuch dodaj(head2, 3); dodaj(head2, 11); dodaj(head2, 13); dodaj(head2, 17); writeln(ile(head,head2)); // wypisuje ile maja identycznych elementow end.



