Автор: Pavel 18.06.2003 18:41
Помогите пожалуйста с задачкой!!!
--------------------------------------------------------------------------------
Дана последовательность ненулевых целых чисел, за которой следует 0.
Вывести сначала все отрицательные числа этой последовательности, а затем все положительные( в любом порядке ) - необходимо сделать при помощи рекурсии.
____________________________________________________________________
хотябы с основная часть програмы.
Зарание благодаре!
Автор: OlegP 19.06.2003 16: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 , сразу же выводятся числа, если они отрицательные, иначе происходит еще один вызов процедуры. На возврате печатаются положительные числа.
Автор: Гость 28.11.2012 21:45
Цитата(Pavel @ 18.06.2003 14:41)
Помогите пожалуйста с задачкой!!!
--------------------------------------------------------------------------------
Дана последовательность ненулевых целых чисел, за которой следует 0.
Вывести сначала все отрицательные числа этой последовательности, а затем все положительные( в любом порядке ) - необходимо сделать при помощи рекурсии.
____________________________________________________________________
хотябы с основная часть програмы.
Зарание благодаре!
Автор: Гость 28.11.2012 21:52
Цитата(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 , сразу же выводятся числа, если они отрицательные, иначе происходит еще один вызов процедуры. На возврате печатаются положительные числа.
а тоже самое только без рекурсии как будет выглядеть?