Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите решить задачку с рекурсией
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Pavel
Помогите пожалуйста с задачкой!!!
--------------------------------------------------------------------------------

Дана последовательность ненулевых целых чисел, за которой  следует 0.
Вывести сначала все отрицательные числа этой последовательности, а затем все положительные( в любом порядке ) - необходимо сделать при помощи рекурсии.
____________________________________________________________________

хотябы с основная часть програмы.

Зарание благодаре!
OlegP
Можно сделать так:

Код
var f:text;

procedure v;
var a:integer;
begin
read(a);
while a<>0 do
begin
 if a<0 then
  begin
   writeln(f,a);
   read(a)
  end
 else
  begin
   v;
   writeln(f,a);
   a:=0
  end
end
end;

BEGIN
assign(f,'c:test.txt');
rewrite(f);
v;
close(f)
END.


прога выводит результаты в файл c:test.txt , сразу же выводятся числа, если они отрицательные, иначе происходит еще один вызов процедуры. На возврате печатаются положительные числа.
Гость
Цитата(Pavel @ 18.06.2003 14:41) *

Помогите пожалуйста с задачкой!!!
--------------------------------------------------------------------------------

Дана последовательность ненулевых целых чисел, за которой  следует 0.
Вывести сначала все отрицательные числа этой последовательности, а затем все положительные( в любом порядке ) - необходимо сделать при помощи рекурсии.
____________________________________________________________________

хотябы с основная часть програмы.

Зарание благодаре!

norespect.gif
Гость
Цитата(OlegP @ 19.06.2003 12:58) *

Можно сделать так:

Код
var f:text;

procedure v;
var a:integer;
begin
read(a);
while a<>0 do
begin
 if a<0 then
  begin
   writeln(f,a);
   read(a)
  end
 else
  begin
   v;
   writeln(f,a);
   a:=0
  end
end
end;

BEGIN
assign(f,'c:test.txt');
rewrite(f);
v;
close(f)
END.


прога выводит результаты в файл c:test.txt , сразу же выводятся числа, если они отрицательные, иначе происходит еще один вызов процедуры. На возврате печатаются положительные числа.



а тоже самое только без рекурсии как будет выглядеть?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.