Стек: подсчитать, сколько элементов имеют отрицательные значения - Free Pascal
Формулировка задачи:
Создать стек со случайными целыми числами. Подсчитать, сколько его элементов имеют отрицательные значения.
Решение задачи: «Стек: подсчитать, сколько элементов имеют отрицательные значения»
textual
Листинг программы
program pr;
type
prec = ^trec;
trec = record
num: integer;
next: prec;
end;
var
stack: prec;
procedure push(const arg: integer);
var
p: prec;
begin
new(p);
p^.num := arg;
p^.next := stack;
stack := p;
end;
procedure printstack;
var
p: prec;
begin
p := stack;
while p <> nil do
begin
writeln(p^.num);
p := p^.next;
end;
end;
function otr: integer;
var
p: prec;
cout: integer;
begin
cout := 0;
p := stack;
while p <> nil do
begin
if p^.num < 0 then
cout := cout + 1;
p := p^.next;
end;
otr := cout;
end;
var
i, m, n, k: integer;
begin
stack := nil;
writeln('Введите количество элементов');
readln(n);
for i := 1 to n do
begin
m := random(21) - 10;
push(m);
end;
printstack;
writeln;
k := otr;
writeln('Количество элементов, имеющих отрицательное значение: ', k);
end.