Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Lisp Даны две матрицы одинаковых размерностей - A и B. Подсчитать, для скольких позиций A(i,j) > B(i,j) Задача из раздела VB. Вот мое решение: (defun task (a b) (apply '+ (mapcar #'(lambda (u) (apply '+ u)) (mapcar #'(lambda (x y) (mapcar #'(lambda (z w) (if (> z w) 1 0)) x y)) a... https://www.cyberforum.ru/ lisp/ thread842930.html Lisp Средствами текстовых редакторов создать файл данных
Средствами текстовых редакторов создать файл данных, содержащий несколько строк, в каждой из которых по пять произвольных чисел, и написать программу, позволяющую считать числовые данные из этого...
Lisp Написать функцию,которая в прямой четырехугольной призме проводит сечение, проходящее через диагональ нижнего Написать функцию,которая в прямой четырехугольной призме проводит сечение, проходящее через диагональ нижнего основания и одну из вершин верхнего основания. на Lisp https://www.cyberforum.ru/ lisp/ thread842506.html Lisp Меню https://www.cyberforum.ru/ lisp/ thread842311.html
Реализовать ввиде меню следущие функции: 1) создание списка(ввод с клавиатуры), 2) вставка элемента с клавиатуры на позицию по заданному номеру, 3) удаление элемента по номеру элемента,...
Составить программу, осуществляющую решение задачи П.Дирака Lisp
Составить программу, осуществляющую решение задачи П. Дирака. Три рыбака легли спать, не разделив улов на три части. Проснувшись, первый рыбак решил забрать свою долю. Количество рыб не делилось на...
Lisp Пусть дана вещественная квадратная матрица порядка 2n Пусть дана вещественная квадратная матрица порядка 2n. Получите новую матрицу, переставляя ее блоки размером n по очереди. Для обмена четырех заданных фрагментов матрицы напишите функцию. на Lisp https://www.cyberforum.ru/ lisp/ thread842190.html
Lisp Вычислить сумму и число положительных элементов матрицы Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю. имя матрицы С(N,N), условия и ограничения c(i,j)>0, N<=12. на Lisp https://www.cyberforum.ru/ lisp/ thread842178.html Lisp Написать функцию, которая перегруппировывает элементы заданного списка
Написать функцию, которая перегруппировывает элементы заданного списка так, чтобы одинаковые элементы, если они есть, стояли все подряд(для чисел в порядке возрастания) на Lisp
Lisp Сортировка чисел в файле https://www.cyberforum.ru/ lisp/ thread842135.html
нужна помощь по lisp Помогите с кодом для данной задачи на visual lisp: Сортировка чисел, хранящихся в файле. В файле хранятся положительные, отрицательные, чётные, нечётные, целые и числа с...
Lisp Преобразование 32-битного целочисленного представления айпи-адреса в строковое https://www.cyberforum.ru/ lisp/ thread841845.html
Источник: http://company.yandex.ru/job/vacancies/dev_desktop.xml (3-ий вопрос). Моё решение на общелиспе: (defun format-ip (uint32) (declare (type (unsigned-byte 32) uint32)) (format nil...
Среди двухзначных чисел найдите те, сумма квадратов цифр которых делится на 13 Lisp
Среди двухзначных чисел найдите те, сумма квадратов цифр которых делится на 13. на Lisp
Lisp Универсальная параметризованная ф-я высших порядков https://www.cyberforum.ru/ lisp/ thread841779.html
Цель такая: Учитывая однотипность операций обработки списков удобно определить одну универсальную параметризованную функцию высших порядков,в которой в абстрактной форме реализуются большинство...
Модератор
Эксперт функциональных языков программированияЭксперт Python
33869 / 18898 / 3979
Регистрация: 12.02.2012
Сообщений: 31,679
Записей в блоге: 13
22.04.2013, 10:33 0

Определить рекурсивную функцию для удаления последнего элемента списка - Lisp - Ответ 4451410

22.04.2013, 10:33. Показов 2050. Ответов 2
Метки (Все метки)

Ответ

Или так (но без рекурсии):

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(defun drop-last (lst)
  (subseq lst 0 (1- (length lst))))
 
==> drop-last
 
(drop-last '(1 2 3))
 
==> (1 2)
 
(drop-last '(1 2))
 
==> (1)
 
(drop-last '(1))
 
==> NIL
Добавлено через 5 минут
Автоаппликация:

Lisp
1
2
3
4
5
6
7
((lambda (lst f)
 (if (null (cdr lst)) nil (cons (car lst) (funcall f (cdr lst) f))))
 '(1 2 3)
 (lambda (lst f)
   (if (null (cdr lst)) nil (cons (car lst) (funcall f (cdr lst) f)))))
 
==> (1 2)


Вернуться к обсуждению:
Определить рекурсивную функцию для удаления последнего элемента списка Lisp
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2013, 10:33
Готовые ответы и решения:

Поправить функцию удаления последнего элемента односвязного списка
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; struct...

Написать программу удаления последнего элемента списка
Написать программу удаления последнего элемента списка.

Описать функцию удаления списка из памяти, начиная с последнего
//--------------------------------------------------------------------------- #include &lt;iostream&gt;...

Описать процедуру удаления последнего элемента непустого односвязного списка, заданного указателем на его начало
Помогите с 2 задачами. Описать процедуру удаления последнего элемента непустого односвязного...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2013, 10:33
Помогаю со студенческими работами здесь

Написать функцию удаления элемента из списка
Надо написать функцию Void del (int value) , которая удаляет элемент в списке и Elem *searth (int...

Проверить функцию удаления элемента из двунаправленного связанного списка . unittest - том
Есть двунаправленный связанный список удаляем из него элемент нужно проверить unittest - том ...

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

Определить рекурсивную функцию, возвращающую последний элемент списка
Определить рекурсивную функцию, возвращающую последний элемент списка. вот что сделано (defun...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru