Создать стек и подсчитать количество положительных элементов в нем

AlenaRayskaya AlenaRayskaya    2   09.06.2019 09:30    1

Ответы
Almazik20056 Almazik20056  08.07.2020 07:48
Вот, на PascalABC.NET работает, думаю, на Турбе тоже пройдёт))

Type
    PComp = :stack;
    stack = record
      sD:real;
      pNext:PComp;
    end;
    
var
  pTop:PComp;
    
Procedure CreateStack(var pTop:PComp);
  begin
    New(pTop);
    pTop:.pNext:=nil
  end;
Procedure push(var pTop:PComp; var sC:real);
var
  pAux:PComp;
begin
  New(pAux);
  pAux:.pNext:=pTop;
  pTop:=pAux;
  pTop:.sD:=sC
end;
Procedure pop(var pTop:PComp; var sC:real);
begin
  sC:=pTop:.sD;
  pTop:=pTop:.pNext
end;

var
  i: real;
  j, k, l: integer;

begin
  CreateStack(pTop);
  writeln('Заполните стек числами. Признак конца ввода - 0');
  while (true) do
  begin
    readln(i);
    if (i = 0) then
      break
    else
      push(pTop, i);
    inc(j);
  end;
  
  for k := 1 to j do
  begin
    pop(pTop, i);
    if (i > 0) then
      l := l + 1;
  end;
  
  writeln(l);  
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика