Работа со списками - Pascal (90116)

Узнай цену своей работы

Формулировка задачи:

кто знаком с такими динамическими переменными как списки? У меня с ними БОЛЬШИЕ проблемы О_о: помогите с задачей очень нужно, и пожалуйста просветите, что вообще можно (корректного) делать со списками?? Задача: Удалить второй элемент из списка, и все ему равные. Я так понимаю, что второй элемент нужно поставить на первое место, и его удалить, а как с подобными?
PS: как то все коряво и добавления элемента мне не надо, и как удалить равные второму?

Решение задачи: «Работа со списками»

textual
Листинг программы
uses crt;
type ukazatel=^s;
     s=record
     dan:integer;
     next:ukazatel;
end;
var i,k:integer;
    u,x,u1,dx:ukazatel;
begin
clrscr;
  new(u);
  readln(u^.dan);
  u^.next:=nil;
  for i:=1 to 4 do begin
  new(x);
  readln(x^.dan);
  if i=3 then k:=x^.dan;
  x^.next:=u;
  u:=x;
 end;
 
writeln('danniy spisok');
 x:=u;
 while x<>nil do begin
  writeln(x^.dan);
  x:=x^.next;
 end;
 
for i:=1 to 4 do begin
 x:=u^.next;
 while (x<>nil) and (x^.dan<>k) do begin
  dx:=x;
  x:=x^.next;
  end;
 if x^.dan=k then begin dx^.next:=x^.next;
                        dispose(x);
                        end;
 end;
{
if u^.dan=k then begin
    x:=u;
    u:=u^.next;
    dispose(x);
    end;
 }
 
 
writeln('spisok ...');
u1:=u;
while u1<>nil do begin
writeln(u1^.dan);
u1:=u1^.next;
end;
readln;
end.

Объяснение кода листинга программы

  1. Объявлены переменные: i, k, u, x, u1, dx типа integer, а также переменная типа ukazatel.
  2. В цикле создаются 4 элемента списка и заполняются значениями.
  3. Создается новый элемент списка (головной элемент списка), в который добавляются остальные элементы.
  4. Запускается цикл по элементам списка и выводятся значения каждого элемента.
  5. В цикле перебираются элементы списка, начиная с последнего элемента, и проверяется значение каждого элемента на равенство заданному значению k.
  6. Если значение текущего элемента равно k, то удаляется текущий элемент.
  7. Выводится список элементов.
  8. В цикле перебираются элементы списка, начиная с первого элемента, и выводятся значения каждого элемента.
  9. Завершается работа программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы