Читайте также: |
|
p2^.next:=p1;
p1^.pred:=p2;
end;
p2:=p1;
end;
writeln;
close(f);
p1^.next:=nil;
lastN:=first;
p1:=first;
while p1<>nil do begin
b:=true;
position1:=p1;
if (p1^.x in st) then b:=false
else st:= st + [p1^.x];
p1:=p1^.next;
while p1<>nil do begin
position2:=p1;
if position1^.x=position2^.x then b:=false;
p1:=p1^.next;
end;
if b then begin
buf:=lastN;
lastN^.x:=position1^.x;
lastN:=lastN^.next;
end;
p1:=position1^.next;
end;
p1:=lastN;
p2:=buf;
while p1<>nil do begin
p2^.next:=p1^.next;
dispose(p1);
p1:=p2^.next;
end;
p1:=first^.next;
p2:=p1^.next;
position1:=first^.next;
while p1<>nil do begin
p2:=p1^.next;
b:=false;
while p2<>nil do begin
if p1^.x+p2^.x=first^.x then begin
p1^.pred^.next:=p1^.next;
p1^.next^.pred:=p1^.pred;
dispose(p1);
if (p2^.next=nil) then begin
p2^.pred^.next:=nil;
dispose(p2);
break;
End
Else begin
p2^.next^.pred:=p2^.pred;
p2^.pred^.next:=p2^.next;
dispose(p2);
b:=true;
break;
end;
end;
p2:=p2^.next;
end;
if b then p1:=first^.Next
else if p1<> nil then p1:=p1^.next;
end;
p1:=first;
while p1<>nil do begin
write(p1^.x,' ');
p1:=p1^.next;
end;
writeln;
writeln;
readkey;
END;
BEGIN
assign(f,'vvod.int');
pris:=false;
Repeat
clrscr;
writeln('1 - Massiv');
writeln('2 - Tipizirovanniy fail');
writeln('3 - Dinamicheskiy spisok');
writeln('4 - Exit');
case readkey of
'1': massiv;
'2': tfile;
'3': ds;
'4': pris:=true;
end;
until pris;
END.
2.Пример работы программы
Дата добавления: 2015-09-01; просмотров: 48 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Приложения | | | Земляные работы |