Помогите решить задачку с рекурсией |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Помогите решить задачку с рекурсией |
Pavel |
Сообщение
#1
|
Гость |
Помогите пожалуйста с задачкой!!!
-------------------------------------------------------------------------------- Дана последовательность ненулевых целых чисел, за которой следует 0. Вывести сначала все отрицательные числа этой последовательности, а затем все положительные( в любом порядке ) - необходимо сделать при помощи рекурсии. ____________________________________________________________________ хотябы с основная часть програмы. Зарание благодаре! |
OlegP |
Сообщение
#2
|
Гость |
Можно сделать так:
Код 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 , сразу же выводятся числа, если они отрицательные, иначе происходит еще один вызов процедуры. На возврате печатаются положительные числа. Сообщение отредактировано: volvo - |
Гость |
Сообщение
#3
|
Гость |
Помогите пожалуйста с задачкой!!! -------------------------------------------------------------------------------- Дана последовательность ненулевых целых чисел, за которой следует 0. Вывести сначала все отрицательные числа этой последовательности, а затем все положительные( в любом порядке ) - необходимо сделать при помощи рекурсии. ____________________________________________________________________ хотябы с основная часть програмы. Зарание благодаре! |
Гость |
Сообщение
#4
|
Гость |
Можно сделать так: Код 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 , сразу же выводятся числа, если они отрицательные, иначе происходит еще один вызов процедуры. На возврате печатаются положительные числа. а тоже самое только без рекурсии как будет выглядеть? |
Текстовая версия | 18.09.2024 18:39 |