Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted by dfdfdfdf ( 16 years ago )
program fr;
uses crt;
type plist=^list;
list=record
c:integer;
link:plist;
end;
var
n1:plist;
procedure Vvod(var n:plist);
var
t:text;
cur,nov:plist;
begin
clrscr;
assign(t,'f1.txt');
reset(t);
cur:=n;
while not eof(t) do begin
new(nov);
read(t,nov^.c);
if cur=nil then begin cur:=nov;
nov^.link:=nil end
else
begin nov^.link:=cur;
cur:=nov;
end;
end;
n:=cur;
close(t);
end;
procedure vivod(n:plist);
var
cur:plist;
begin
if n=nil then begin writeln('no'); exit; end;
cur:=n;
while cur<>nil do begin
write(cur^.c,' ');
cur:=cur^.link;
end;
end;
procedure Ochist(var n:plist);
var
l,cur:plist;
begin
writeln('®бў®Ў®¦¤ҐЁҐ ЋЏ');
cur:=n;
l:=nil;
if cur=nil then begin writeln('no'); exit; end;
while cur<>nil do
begin
l:=cur;
cur:=cur^.link;
dispose(l);
end;
n:=nil;
end;
procedure vvod1(L: PList);
var a: PList;
t: text;
begin
assign(t,'f1.txt');
reset(t);
while true do begin
read(t, L^.C);
if eof(t) then break;
new(a);
L^.link:= a;
L:= a;
end;
L^.link:= nil;
close(t);
end;
{procedure poisk(L: PList; dat: integer);
var a: PList;
key: integer;
begin
key:= dat;
a:= L;
if a=nil then begin writeln('no'); exit; end;
while (a<>nil) and (a^.c<>key) do
a:= a^.link;
if a= nil then begin
writeln ('net'); exit; end else writeln('dat=', key);
end;}
procedure poisk(L: PList; dat: integer);
begin
writeln('poisk ');
while L<> nil do begin
if L^.c=dat then write(L^.c,' ');
L:= L^.link;
end;
end;
procedure del(var L: Plist; dat: integer);
var key: integer;
a,b: PList;
begin
end;
begin
new(n1);
vvod1(n1);
vivod(n1);
poisk(n1,19);
ochist(n1);
vivod(n1);
end.
Revise this Paste