Для стека:
const
MAX_SIZE = 100;
var
size, n: integer;
stack: array[1..MAX_SIZE] of integer;
procedure push(a: integer);
begin
inc(size);
stack[size] := a;
end;
procedure view;
var
i: integer;
begin
for i := 1 to size do
write(stack[i], ' ');
writeln;
end;
Для очереди:
const
MAX_SIZE = 100;
var
head, tail: integer;
queue: array[1..MAX_SIZE] of integer;
procedure push(a: integer);
begin
queue[tail] := a;
inc(tail);
end;
procedure view;
var
i: integer;
begin
for i := head to tail - 1 do
write(queue[i], ' ');
writeln;
end;
Объяснение:
Можно лучший , и учи C++
допустим, массив уже задан, поэтому его ввод писать не буду. kol - количество элементов массива
var
mas, mas_ob: array[0..999] of integer;
i, kol_null, sum, sum_nech, sum_ch, pp, i1, kol, max: integer;
begin
kol_null : = 0;
sum : = 0;
sum_nech : = 0;
sum_ch : = 0;
i1 : = 0;
max : = -10000;
for i : = 0 to kol do
begin
if mas[i] < > 0 then kol_null += 1; //2
sum += mas[i]; //3
if mas[i] mod 2 < > 0 then sum_nech += mas[i]; //4
if mas[i] mod 2 = 0 then sum_ch += mas[i]; //5
if mas[i] < 0 then mas[i] : = abs(mas[i]); //6
if mas[i] mod 21 = 0 then mas[i] : = 1; //7
if mas[i] > max then max : = mas[i]; //11
end;
pp : = mas[0]; //8
mas[0] : = mas[kol]; //8
mas[kol] : = pp; //8
for i : = kol downto 0 do //10
begin
mas_ob[i] : = mas[i];
i1 += 1;
end;
writeln('количество ненулевых элементов: ', kol_null);
writeln('сумма всех элеметов: ', sum);
writeln('сумма нечетных элеметов: ', sum_nech);
writeln('сумма четных элеметов: ', sum_ch);
writeln('максимальный элемент: ', max);
end.
Поделитесь своими знаниями, ответьте на вопрос: