Консультация № 199014
11.07.2020, 22:28
0.00 руб.
0 1 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

Тема: Разработка алгоритмов и программ с использованием динамических структур данных


Помогите с написанием кода задания: Удалить из списка L все элементы с отрицательными значениями.
В делфи

Обсуждение

давно
Старший Модератор
31795
6196
16.07.2020, 15:25
общий
это ответ
Здравствуйте, JonMoxley!

Смотрите код:
[code lang=pascal]program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
pLink=^TLink;
TLink=record
data:integer;
next:pLink;
end;
var
n:integer;
a,b,c:pLink;
begin
{ TODO -oUser -cConsole Main : Insert code here }
write('Enter N:');
Readln(n);
a:=nil;
while n>0 do
begin
new(b);
b^.next:=a;
b^.data:=random(100)-50;
a:=b;
dec(n);
end;
b:=a;
Writeln('List:');
while b<>nil do
begin
write(b^.data:4);
b:=b^.next;
end;
writeln;
Writeln('Work:');
b:=a;
while b<>nil do
begin
if b^.data<0 then
begin
writeln('kill:=',b^.data);
if b=a then
begin
a:=a^.next;
dispose(b);
end
else
begin
c:=a;
while c^.next<>b do c:=c^.next;
c^.next:=b^.next;
dispose(b);
end;
b:=a;
end
else b:=b^.next;
end;
Writeln('Result:');
b:=a;
while b<>nil do
begin
write(b^.data:4);
b:=b^.next;
end;
readln;
end.[/code]
Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа