Advertisement
volkovich_maksim

t_16_23_e_v1_volkovich

Nov 29th, 2015
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.95 KB | None | 0 0
  1. {Волкович Максим (volkovcih.maksim.s@gmail.com), 112гр., v1.0,
  2. описать процедуру, которая удаляет первый отрицательный элемент из списка L (если такой есть)}
  3. type list=^chain;
  4.      chain=record elem:integer; next:list end;
  5. procedure dlt(var l:list);
  6.      var b:boolean;
  7.          t,p:list;
  8.      begin
  9.          b:=false; t:=l;
  10.          if (l^.next=nil) and (l^.elem<0) then begin dispose(l); b:=true; end;
  11.          if (l^.elem<0) and (l^.next<>nil) then begin b:=true; l:=t^.next; dispose(t); end;
  12.          while (l^.elem>=0) and not(b) and (l^.next<>nil) do
  13.              begin
  14.                  t:=l; l:=l^.next;
  15.              end;
  16.          if not b then
  17.           begin if (l^.next=nil) and (l^.elem<0) then begin t^.next:=nil; p:=l; l:=t; dispose(p); end;
  18.                 if (l^.next<>nil) and (l^.elem<0) then begin p:=l; l:=l^.next; dispose(p); end;    
  19.      end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement