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

0 голосов
49 просмотров

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


Информатика (12 баллов) | 49 просмотров
0

какой язык?

0

турбо паскать

0

не,боюсь в паскале стек не потяну. на с++ бы сделал еще,извини

0

Это ужасно(((

Дан 1 ответ
0 голосов

Вот, на 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.

(16.9k баллов)