Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 08.12.2018
Сообщений: 2
1

Функция реверсирования объектов списка

05.01.2022, 23:17. Показов 473. Ответов 2
Метки lisp (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно написать функцию реверсирования объектов списка, используя конструкции локальных определений: LET и
LAMBDA.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2022, 23:17
Ответы с готовыми решениями:

Определить функцию, проверяющую является ли y1 результатом реверсирования
Вопрос, знающим! Дано два списка y1 и y2 длиной n. Определить функцию, проверяющую является ли...

Функция: выдать элемент списка по заданному индексу от конца списка [swi-prolog]
Помогите пожалуйста) Описать функцию, которая, выдавала бы элемент списка по заданному но-...

Binding списка объектов из другого списка объектов списка
Добрый день. В приложении есть список объектов, в каждом из которых есть ещё список объектов с...

Определить в классе статическую компоненту - указатель на начало связанного списка объектов и функцию просмотра списка
Помогите пожалуйста доделать программу. Необходимо определить в классе статическую компоненту -...

2
Модератор
Эксперт функциональных языков программированияЭксперт Python
36609 / 20336 / 4222
Регистрация: 12.02.2012
Сообщений: 33,660
Записей в блоге: 13
06.01.2022, 08:48 2
Не вполне понятно, что нужно... Как вариант:

Lisp
1
2
3
4
5
6
7
8
9
10
11
(defun task (list)
  (if (null list) nil
      (cons 
        ((lambda (x f) (if (null x) nil (append (funcall f (cdr x) f) (list (car x)))))
         (car list)
         (lambda (x f) (if (null x) nil (append (funcall f (cdr x) f) (list (car x))))))
        (task (cdr list)))))
 
 
(task '((1 2 3) (4 5 6) (7 8 9)))
==> ((3 2 1) (6 5 4) (9 8 7))
1
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
06.01.2022, 09:43 3
Варианты:
Lisp
1
2
3
4
5
6
(defun esrever (w)
  (let ((a (car w)) (d (cdr w)))
    (when w (append (esrever d) (list a)))))
 
> (esrever '(a b c))
(C B A)
Lisp
1
2
3
4
5
6
7
(defun esrever (w)
  (when w ((lambda (a d)
             (append (esrever d) (list a)))
           (car w) (cdr w))))
 
> (esrever '(a b c))
(C B A)
1
06.01.2022, 09:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2022, 09:43
Помогаю со студенческими работами здесь

Используя производные классы, определить класс упорядоченного списка. Применить его для построения списка объектов типа Текстовая строка
Используя производные классы, определить класс упорядоченного списка. Применить его для построения...

Создание списка объектов класса с заранее неизвестным именем (именем самих объектов)
Уважаемые программисты, не получается решить такую задачу: требуется создать приложение (в консоли)...

Используя производные классы, определить класс параметризованного списка одного из следующих типов. Применить его для построения списка объектов указа
Используя производные классы, определить класс параметризованного упорядоченного списка. Применить...

Исправить ошибку в коде реверсирования слов в строке
Нужно переделать немного или добавить,чтобы программа работала(делала реверсирование каждого слова...

Нужно составить программу реверсирования строки со стандартными методами
Продолжение темы https://www.cyberforum.ru/csharp-beginners/thread2588856.html с дополненными...

QQmlApplicationEngine. Получение списка всех созданных инстанций объектов и списка QMetaObject всех типов
Привет :) Создаю дефолтное приложений QtQick с контролами, получаю код такого типа: #include...

Функция которая возвращает первый, второй, предпоследний и последний элемент списка, в виде четырехэлементного списка
Был бы признателен за помощь. И если не затруднит, то с комментариями. Задание: Дан список...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru