Вставка в список в заданную позицию - Lisp

Узнай цену своей работы

Формулировка задачи:

Была задача: 1. Реализовать функцию (insert-at k l v), которая вставляет в список l элемент v в позицию k. Есть работающая программа на лисп, решающая её:
(define insert-at 
     (lambda (k l v u)
            (if (= k 0)
               (list u v l)
               (insert-at (- k 1) (cdr l) v (list u (car l) )))))
Вопрос в следующем, при выводе результата он выводится со множеством скобок. Как исправить программу, чтобы этого не было?

Решение задачи: «Вставка в список в заданную позицию»

textual
Листинг программы
(define insert-at 
     (lambda (k l v)
            (if (= k 0)
               (cons v l)
               (cons (car l) (insert-at (- k 1) (cdr l) v)))))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5
Похожие ответы