Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lisp
Войти
Регистрация
Восстановить пароль
 
qweqweqweqwe1
0 / 0 / 0
Регистрация: 13.12.2015
Сообщений: 4
1

Проверка и реверсирование списка

22.12.2015, 19:09. Просмотров 213. Ответов 4
Метки нет (Все метки)

Проверяем подсписок на элементы с d по k, если таковые имеются, то выводим реверсированный список, если нет, то исходный.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2015, 19:09
Ответы с готовыми решениями:

Реверсирование части подсписков
Здравствуйте! Поставлена следующая задача: реверсировать только подсписки, четных степеней...

Частичное реверсирование с помощью стека
У кого-нибудь есть идеи насчет этой задачи? :) Реализовать стек в виде списка. Дана величина a...

Проверка списка
Помогите пожалуйста,есть список ,если в списках и подсписках содержится только числа,либо только...

Проверка сортировки списка
Помогите сделать прогу на LISP, которая проверяла бы отсортирован ли список (по возрастанию или по...

Проверка одноуровневости списка
Всем привет! Не могу построить функцию по данному условию: С помощью базовых функций определите...

4
_sg
4111 / 3859 / 292
Регистрация: 12.05.2012
Сообщений: 2,716
22.12.2015, 19:40 2
Lisp
1
2
3
4
5
6
7
8
9
(defun conditional-reverse (w a b)
  (cond ((> a b) w)
        ((member a w) (reverse w))
        ((conditional-reverse w (1+ a) b))))
 
> (conditional-reverse '(8 10) 6 7)
(8 10)
> (conditional-reverse '(8 10) 6 9)
(10 8)
1
Catstail
Модератор
24534 / 12451 / 2274
Регистрация: 12.02.2012
Сообщений: 20,209
22.12.2015, 19:50 3
qweqweqweqwe1, "Проверяем подсписок на элементы с d по k" - это, собственно, ЧТО ОЗНАЧАЕТ? Какие "таковые имеются"? Со значениями от d до к или номера позиций с d по k? Вряд ли человек, который так формулирует свои мысли, выучится чему-либо...
1
qweqweqweqwe1
0 / 0 / 0
Регистрация: 13.12.2015
Сообщений: 4
23.12.2015, 00:10  [ТС] 4
Там нужно удалить все латинские буквы, находящиеся между d и k
0
Vaderkos
77 / 77 / 5
Регистрация: 31.03.2015
Сообщений: 436
23.12.2015, 02:02 5
qweqweqweqwe1, Я так понимаю вы имели ввиду что-то подобное. Попробуйте сформулировать вопрос полностью и (главное) понятно. Ну или напишите пример хотя бы

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(defun wtf2 (lst d k)
    (let ((pos-d (position d lst :test #'=))
          (pos-k (position k lst :test #'=)))
        (cond
            ((or (null pos-k) (null pos-d)) (reverse lst))
            (T (append (subseq lst 0 (+ pos-d 1)) (subseq lst pos-k (length lst)))))))
 
* (wtf2 '(1 2 3 4 5 6 7 8 9 10) 5 10)
 
(1 2 3 4 5 10)
 
* (wtf2 '(1 2 3 4 5 6 7 8 9 10) 25 1)
 
(10 9 8 7 6 5 4 3 2 1)
1
23.12.2015, 02:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2015, 02:02

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

Помогите пожалуйста переделать синтаксис MuLisp в Comon Lisp (проверка длины списка)
Помогите пожалуйста переделать синтаксис MuLisp в Comon Lisp 2. Определить функции, которые...

Проверка "состава" списка XLisp
Необходимо проверить является ли список списком чисел или нет. (defun list-check (list) (cond...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru