Используя описание: список = ^ звено; звено = record элемент: тип элемента; следующий: список; end Написать программу, которая формирует список L вещественных элементов и удаляет из него первый элемент — Pascal(Паскаль)

Type
PNode=^Node;
Node=record
  data:real;
  next:PNode;
end;
var
Head,tmp:PNode;
n,i:integer;
k:real;
 
procedure AddToSpis(var Head1:PNode;k:real);
var
  tmp:PNode;
begin
  if Head1=nil then
    begin
      New(Head1);
      tmp:=Head1;
    end
  else
    begin
      tmp:=Head1;
        while tmp^.next<>nil do
         tmp:=tmp^.next;
      New(tmp^.next);
      tmp:=tmp^.next;
    end;
  tmp^.next:=nil;
   tmp^.data:=k;
end;
Procedure FreeSpisok(var Head1:PNode);
var
  tmp:PNode;
begin
   while Head1<>nil do
      begin
       tmp:=Head1;
       Head1:=Head1^.next;
       Dispose(tmp);
      end;
end;
procedure Print(Head1:PNode);
begin
  while Head1 <> nil do
    begin
      write(Head1^.data:4:2,'  ');
      Head1:=Head1^.next;
    end;
end;
 
begin
  Head:=nil;
  writeln('введите колво элементов');
  readln(n);
   for i:=1 to n do
     begin
       writeln('введите чсило');
       readln(k);
       AddToSpis(Head,k);
     end;
       writeln('Сформированный список');
       Print(Head);
       tmp:=Head;
       Head:=Head^.next;
       Dispose(tmp);
       writeln;
       writeln('Список без первого элемента');
       Print(Head);
       FreeSpisok(Head);
 end.

Leave a Comment

84 − = 75