צירוף השאלה לויניי או לכל מישהו אחר שיודע....
כתבו תת תכנית המחזירה את המקום הראשון ברשימה L שבו מופיע האיבר X. אם האיבר X אינו מופיע ברשימה אזי הפעולה מחזירה את המקום סוף הרשימה.
כתבו תת תכנית המחזירה את המקום הראשון ברשימה L שבו מופיע האיבר X. אם האיבר X אינו מופיע ברשימה אזי הפעולה מחזירה את המקום סוף הרשימה.
function found(l:list_type)
os_type; var x1,x2:list_info_type; p1
os_type; begin p1:=list_next(l,list_anchor(l)); while p1<>list_end(l) do begin list_retrive(l,p1,x2); if x1=x2 then found:=p; if x1<>x2 then list_next(l,p1); end; found:=list_end(l); end;
והשאלה השנייה כתבו תת תכנית המקבלת שתי רשימות ומשרשרת אותן לרשימה אחת מבלי לפגוע ברשימות המקוריות כלומר, אם רשימה L1 היא 1234 ורשימה L2 היא 5678 אז הרשימה שתוחזר תהייה 12345678procedure together(l1,l2:list_type,var l3:list_type); var x1,x2:list_info_type; p1,p2,p3
os_type; begin list_init(l3); p1:=list_next(l1,list_anchor(l1)); p2:=list_next(l2,list_anchor(l2)); p3:=list_next(l3,list_anchor(l3)); while p1<>list_end(l1) do begin list_retrive(l1,p1,x1); list_insert(l3,p3,x1); list_next(l1,p1); end; while p2<>list_end(l2) do begin list_retrive(l2,p2,x2); list_insert(l2,p3,x2); list_next(l2,p2); end; end;