Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Lisp
Перезагрузить страницу Нужно написать рекурсивную функцию, которая возвращает t
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Bender266 Bender266 вне форума
Member
 
Сообщений: 24
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.05.2009
По умолчанию Нужно написать рекурсивную функцию, которая возвращает t - 06.05.2009, 10:50

Народ помогите пожалуйста с задачей. Нужно написать рекурсивную функцию, которая возвращает t, когда все элементы списка нечетные. Заранее спасибо
Ответить с цитированием
  (#2 (permalink)) Старый
VH VH вне форума
Member
 
Сообщений: 781
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 10 сообщениях
Регистрация: 29.06.2006
По умолчанию 06.05.2009, 11:09

Код:
(defun F (L)
  (cond
   ((null L) nil)
   ((null (cdr L)) (oddp (car L)))
   ((evenp (car L)) nil)
   (T (F (cdr L)))))
Ответить с цитированием
  (#3 (permalink)) Старый
Bender266 Bender266 вне форума
Member
 
Сообщений: 24
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.05.2009
По умолчанию 06.05.2009, 11:48

Спасибо конечно, что ответил так быстро. Только вот проблема, в том что у меня с твоим кодом в ответе всегда выходит NIL:-(
Ответить с цитированием
  (#4 (permalink)) Старый
VH VH вне форума
Member
 
Сообщений: 781
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 10 сообщениях
Регистрация: 29.06.2006
По умолчанию 06.05.2009, 13:30

XLISP-PLUS version 3.04
Portions Copyright © 1988, by David Betz.
Modified by Thomas Almy and others.
> (defun F (L)
(cond
((null L) nil)
((null (cdr L)) (oddp (car L)))
((evenp (car L)) nil)
(T (F (cdr L)))))
F
> (F nil)
NIL
> (F '(1 2 3 4 5 6))
NIL
> (F '(1 3 5 7))
T
>

P.S. «...ответил(а)...»
Ответить с цитированием
  (#5 (permalink)) Старый
Bender266 Bender266 вне форума
Member
 
Сообщений: 24
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.05.2009
По умолчанию 06.05.2009, 13:40

Спасибо большое. А вот нельзя ли сделать так что к примеру я задаю список(1 2 3 4 5), а он мне в ответе список(1 3 5)?
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
VH VH вне форума
Member
 
Сообщений: 781
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 10 сообщениях
Регистрация: 29.06.2006
По умолчанию 06.05.2009, 14:34

Код:
(defun F (L)
  (cond
   ((null L) nil)
   ((oddp (car L)) (cons (car L) (F (cdr L))))
   (T (F (cdr L)))))
Код:
(defun F (L)
  (if L
   ((lambda (elem result)
     (if (oddp elem)
      (cons elem result)
      result))
    (car L)
    (F (cdr L)))))
Ответить с цитированием
  (#7 (permalink)) Старый
Bender266 Bender266 вне форума
Member
 
Сообщений: 24
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.05.2009
По умолчанию 06.05.2009, 14:40

Спасибо огромное. Очень помогла ваша помощь. Я эту работу только что сдал. Еще раз спасибо
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно написать функцию, которая считает, допустят ли студента до экзамена Elisa23888 Haskell 0 18.04.2011 18:31
Как написать рекурсивную функцию Аннушка Visual Basic 0 29.12.2010 19:18
Как написать рекурсивную функцию Tani91 Lisp 2 10.03.2010 00:51
Написать функцию, которая по списку lst и атому obj возвращает множество klava Lisp 1 22.12.2009 14:05
Реализовать функцию, которая возвращает первый элемент ne_ponimaju_lisp Lisp 2 17.12.2009 15:27
Написать рекурсивную функцию,которая вычисляет сумму всех чисел kugur Lisp 1 22.07.2009 18:50
Написать функцию, которая возвращает истину Bender266 Lisp 0 06.05.2009 13:47
Написать функцию, которая возвращает количество вершин Adebayor Lisp 11 16.12.2007 22:58
Как написать рекурсивную функцию RANK MILA270 Lisp 0 01.12.2007 18:41
Написать функцию LAST1, которая возвращает предпоследний элемент списка Sw1ft Lisp 9 17.05.2007 20:25
Как создать функцию, которая возвращает массив imported_nemesis С/С++ 5 13.03.2006 13:56
Как сделать функцию, которая создает окно и возвращает значение je0n WinAPI 1 03.02.2006 12:30



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов