• Предмет: Информатика
  • Автор: kirillneuchesov
  • Вопрос задан 8 лет назад

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

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

Ответы

Ответ дал: petyaGavrikov
0
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
0
тут есть 5 класс
Вас заинтересует