Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Lisp
Перезагрузить страницу Описать функцию, которая вычитает из элементов списка заданное число
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
costa costa вне форума
Member
 
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.10.2006
По умолчанию Описать функцию, которая вычитает из элементов списка заданное число - 17.11.2006, 00:13

описать функцию, которая
вычитает из элементов списка заданное число

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

Если список ВСЕГДА одноуровневый и его элементами являются ТОЛЬКО числа:
Код:
(defun LIST- (_list _n)
  (if _list
   (cons (- (car _list) _n) (LIST- (cdr _list) _n))))
Если список МОЖЕТ БЫТЬ многоуровневым и его элементами могут являться НЕ ТОЛЬКО числа:
Код:
(defun LIST- (_list _n)
  (if _list
   ((lambda (_head _tail)
     (cons
      (if (numberp _head)
       (- _head _n)
       _head)
      (LIST- _tail _n)))
    (car _list)
    (cdr _list))))
Ответить с цитированием
  (#3 (permalink)) Старый
costa costa вне форума
Member
 
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.10.2006
По умолчанию 18.11.2006, 09:52

Цитата:
Если список ВСЕГДА одноуровневый и его элементами являются ТОЛЬКО числа:
Код:
(defun LIST- (_list _n)
  (if _list
   (cons (- (car _list) _n) (LIST- (cdr _list) _n))))
Если список МОЖЕТ БЫТЬ многоуровневым и его элементами могут являться НЕ ТОЛЬКО числа:
Код:
(defun LIST- (_list _n)
  (if _list
   ((lambda (_head _tail)
     (cons
      (if (numberp _head)
       (- _head _n)
       _head)
      (LIST- _tail _n)))
    (car _list)
    (cdr _list))))
Большое спасибо за прогу, но не могу понять, как записать значения,чтобы посмотреть как работает прога, покажи пож. на примере.
Ответить с цитированием
  (#4 (permalink)) Старый
VH VH вне форума
Member
 
Сообщений: 781
Сказал(а) спасибо: 0
Поблагодарили 11 раз(а) в 10 сообщениях
Регистрация: 29.06.2006
По умолчанию 18.11.2006, 15:51

(LIST- '(1 2 3) 1)
(LIST- '(1 A (2 3) B 4) 1)
Ответить с цитированием
  (#5 (permalink)) Старый
costa costa вне форума
Member
 
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.10.2006
По умолчанию 18.11.2006, 21:09

Цитата:
(LIST- '(1 2 3) 1)
(LIST- '(1 A (2 3) B 4) 1)
Огромное спасибо
Ответить с цитированием
Ads.
Ads
Ответ

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описать функцию, которая для заданного списка lst формирует список-результат dazenita Lisp 10 06.01.2015 10:22
Напишите функцию (drop L N), которая удаляет N элементов с конца списка L balbec Lisp 9 29.05.2011 18:12
Описать функцию, которая на основе списка чисел формирует спиcок Дарья1207 Lisp 4 14.03.2011 21:59
Описать функцию, которая вставляла бы на заданное место элементы второго списка imported_Юля111 Lisp 2 18.01.2011 17:11
Опишите функцию, которая вставляла бы на заданное место заданный элемент Snusmumrik Lisp 3 18.01.2011 16:21
Написать программу преобразования списка которая реверсирует n элементов списка Ma3day Prolog 4 14.11.2010 14:07
Описать функцию, которая должна принимать значения Т klava Lisp 0 18.12.2009 23:42
Нужно описать функцию, которая выдавала бы элемент списка по заданному номеру Snusmumrik Lisp 0 18.12.2009 22:35
Описать функцию, которая выдавала бы элемент списка по заданному номеру jany Lisp 2 12.12.2009 00:31
Удалить из списка заданное число первых элементов Chummy89 Lisp 1 09.11.2009 21:51
Как написать задачу которая заданное число выводит на экран по истечению времени Alenka777 Вопросы начинающих программистов 2 22.10.2009 22:20
Напишите функцию, которая умножает на заданное число-аргумент Януся Lisp 8 07.11.2007 14:15



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