Предмет: Информатика, автор: kirillneuchesov

Ребят, кто шарит в проге, это не школьный курс, помогите, плизз

Дан массив ненулевых целых чисел из N элементов. Используя рекурсию, напечатать сначала все отрицательные, а потом – все положительные числа этой последовательности. Реализовать в одной функции, которая вызывается один раз.


ShirokovP: на каком языке программирования?

Ответы

Автор ответа: ShirokovP
2
type 
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.
Автор ответа: petyaGavrikov
4
const n=10;
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

юля2839: тут есть 5 класс
Похожие вопросы
Предмет: Информатика, автор: tateyakids
Предмет: Алгебра, автор: kiril6969hopk