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

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

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

Проверяем подсписок на элементы с d по k, если таковые имеются, то выводим реверсированный список, если нет, то исходный.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2015, 19:09
Ответы с готовыми решениями:

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

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

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

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

4
4347 / 4071 / 326
Регистрация: 12.05.2012
Сообщений: 2,874
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
Модератор
26405 / 13772 / 2625
Регистрация: 12.02.2012
Сообщений: 22,584
22.12.2015, 19:50 3
qweqweqweqwe1, "Проверяем подсписок на элементы с d по k" - это, собственно, ЧТО ОЗНАЧАЕТ? Какие "таковые имеются"? Со значениями от d до к или номера позиций с d по k? Вряд ли человек, который так формулирует свои мысли, выучится чему-либо...
1
0 / 0 / 0
Регистрация: 13.12.2015
Сообщений: 4
23.12.2015, 00:10  [ТС] 4
Там нужно удалить все латинские буквы, находящиеся между d и k
0
82 / 82 / 7
Регистрация: 31.03.2015
Сообщений: 444
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
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 - 2020, vBulletin Solutions, Inc.