program Stek;
{$APPTYPE CONSOLE}
uses SysUtils;
var m: array[1..11] of integer = (9,4,2,4,5,6,1,8,0,1,7);
i:integer;
begin
writeln('Mas:');
for i:=1 to 11 do write(m:2);
readln;
end.
Стек. Освобождение памяти
Задан одномерный массив целых чисел, который инициализировать как константу. Записать массив в стек, выбрать элементы из стека (процедура) и освободить память, которую они занимали.
Наробки:
Код:
Оформите цикл в процедуру. Остальное почти сделано
Код:
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
const
MAX = 100;
var
stack:array[1..100] of integer;
tos:integer; {points to top of stask}
m: array[1..11] of integer = (9,4,2,4,5,6,1,8,0,1,7);
i,n:integer;
procedure Push(i:integer); { помещение объекта в стек }
begin
if tos>=MAX then WriteLn('Stask full')
else
begin
stack[tos]:=i;
tos:=tos+1;
end;
end;
begin
writeln('Mas:');
for i:=1 to 11 do write(m:2);
writeln;
for i:=1 to 11 do Push(m);
n:=tos;
for tos:=1 to n do write(stack[tos]:2);
readln;
end.
{$APPTYPE CONSOLE}
uses SysUtils;
const
MAX = 100;
var
stack:array[1..100] of integer;
tos:integer; {points to top of stask}
m: array[1..11] of integer = (9,4,2,4,5,6,1,8,0,1,7);
i,n:integer;
procedure Push(i:integer); { помещение объекта в стек }
begin
if tos>=MAX then WriteLn('Stask full')
else
begin
stack[tos]:=i;
tos:=tos+1;
end;
end;
begin
writeln('Mas:');
for i:=1 to 11 do write(m:2);
writeln;
for i:=1 to 11 do Push(m);
n:=tos;
for tos:=1 to n do write(stack[tos]:2);
readln;
end.
К сожалению вы записали массив в переменную Stack а не в стек.. Не хотел вас расстраивать.
Phodopus, мне нравится ваш стёб) наверное вы препод)
К счастью для бедных студентов я не остался в околопреподавательской среде :). Но это и не стеб - все зависит от того что понимать под стеком. Я вот думаю о программном стеке.
я в инете по этой теме ничего толкового не нашол и не розобрался толком со стеками.. так-что не имею понятия о чём именно вы думаете)
стек.
Phodopus, как и любой программист, думает об этом:
понятно)