procedure p(a: mas; k: integer); var t: integer; begin if a[k] <> 0 then begin t := a[k]; if a[k] < 0 then writeln(a[k]); p(a, k + 1); end else t := -1; if t > 0 then writeln(t); end;
var n, i: integer; a: mas;
begin randomize; write('Размер последовательности от 2 до 10 n= '); readln(n); writeln('Последовательность'); for i := 1 to n do begin repeat a[i] := -10 + random(21); until a[i] <> 0; write(a[i]:4); end; writeln; a[n + 1] := 0; writeln('Преобразованная последовательность'); p(a, 1); end.
procedure p(a: mas; k: integer); begin if k <= n then begin if a[k] < 0 then write(a[k]:4); p(a, k+1); if a[n-k+1] > 0 then write(a[n-k+1]:4); end end;
var a: mas; i: integer;
begin randomize; writeln('Последовательность'); for i := 1 to n do begin a[i] := random(21)+1; if random(2)=1 then a[i]:=-a[i]; write(a[i]:4); end; writeln; writeln('Преобразованная последовательность'); p(a, 1); end.
mas = array[1..11] of integer;
procedure p(a: mas; k: integer);
var t: integer;
begin
if a[k] <> 0 then
begin
t := a[k];
if a[k] < 0 then writeln(a[k]);
p(a, k + 1);
end
else t := -1;
if t > 0 then writeln(t);
end;
var
n, i: integer;
a: mas;
begin
randomize;
write('Размер последовательности от 2 до 10 n= ');
readln(n);
writeln('Последовательность');
for i := 1 to n do
begin
repeat
a[i] := -10 + random(21);
until a[i] <> 0;
write(a[i]:4);
end;
writeln;
a[n + 1] := 0;
writeln('Преобразованная последовательность');
p(a, 1);
end.
type
mas = array[1..n] of integer;
procedure p(a: mas; k: integer);
begin
if k <= n then
begin
if a[k] < 0 then write(a[k]:4);
p(a, k+1);
if a[n-k+1] > 0 then write(a[n-k+1]:4);
end
end;
var
a: mas; i: integer;
begin
randomize;
writeln('Последовательность');
for i := 1 to n do
begin
a[i] := random(21)+1;
if random(2)=1 then a[i]:=-a[i];
write(a[i]:4);
end;
writeln;
writeln('Преобразованная последовательность');
p(a, 1);
end.
Пример:
Последовательность
20 8 -9 15 -1 16 -9 -12 7 2
Преобразованная последовательность
-9 -1 -9 -12 20 8 15 16 7 2