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

Clojure Определить функцию, объединяющую атомы двух списков

30.03.2017, 19:21. Показов 1816. Ответов 4

Author24 — интернет-сервис помощи студентам
Помогите определить функцию, объединяющую атомы двух списков в один ассоциативный список ((x1.y1)(x2.y2)(x3.y3) ... ...)
а) для списка из атомов
б) для списка, содержащего подсписки
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2017, 19:21
Ответы с готовыми решениями:

Clojure Определить функцию, возвращающую первый совпадающий элемент двух списков
Обращаюсь к великим умам для решение простых задач: Определить функцию, возвpащающую первый...

Clojure Используя функцию Defun, определить функцию f(a x), где а-S- выражение, а х-список, состоящий из 2-3 элементов, которая заменяет на а все атомы списка
1)Используя функцию Defun, определить функцию f(a x), где а-S- выражение, а х-список, состоящий из...

Clojure Определить функцию, которая из исходного списка удаляет все атомы, обладающие заданным свойством
Пожалуйста, помогите реализовать Нужен рекурсивный и императивный вариант решения. Функция должна...

Clojure Сформировать список списков, содержащий элементы-атомы из списка L, сгруппированные в подсписки длины n
Доброго времени суток! Нужно написать программу: L – список, элементами которого являются...

4
$ su
1605 / 520 / 97
Регистрация: 18.11.2010
Сообщений: 2,807
Записей в блоге: 2
30.03.2017, 20:53 2
Clojure
Lisp
1
2
(map vector '(1 2 3) '(4 5 6))
;=>([1 4] [2 5] [3 6])
Добавлено через 1 минуту
Lisp
1
2
(map list '(1 2 3) '(4 5 6))
;=> ((1 4) (2 5) (3 6))
Или так
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,653
Записей в блоге: 13
30.03.2017, 22:38 3
Лучший ответ Сообщение было отмечено olenka_ke как решение

Решение

Одноуровневые списки:

Lisp
1
2
3
4
5
6
7
8
(defun task (l1 l2) 
  (mapcar 'cons l1 l2))
 
==> TASK
 
(task '(a b c d) '(1 2 3 4))
 
==> ((A . 1) (B . 2) (C . 3) (D . 4))
Многоуровневые:

Lisp
1
2
3
4
5
6
7
8
(defun task (l1 l2)
  (mapcar 'cons (flatten l1) (flatten l2)))
 
==> TASK
 
(task '(a b (c d)) '(1 2 3 4))
 
==> ((A . 1) (B . 2) (C . 3) (D . 4))
2
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 27
01.04.2017, 20:07  [ТС] 4
благодарю!!!

Добавлено через 36 минут
как быть, если в CommonLisp возникает ошибка, что функция flatten не определена?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36606 / 20334 / 4221
Регистрация: 12.02.2012
Сообщений: 33,653
Записей в блоге: 13
03.04.2017, 09:27 5
Цитата Сообщение от olenka_ke Посмотреть сообщение
как быть, если в CommonLisp возникает ошибка, что функция flatten не определена?
- определить:

Lisp
1
2
3
4
5
6
7
8
9
10
(defun flatten (lst)
  (cond ((null lst) nil)
        ((atom (car lst)) (cons (car lst) (flatten (cdr lst))))
        (t (append (flatten (car lst)) (flatten (cdr lst))))))
 
==> FLATTEN
 
(flatten '(a s d ((d) t (5 6)) (((y)))))
 
==> (A S D D T 5 6 Y)
1
03.04.2017, 09:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2017, 09:27
Помогаю со студенческими работами здесь

Clojure Реализовать функцию, которая из двух списков, состоящих из чисел, строит список из парных разностей
Реализовать функцию, которая из двух списков, состоящих из чисел, строит список из парных...

Clojure Опишите функцию, которая из исходного списка формирует список, содержащий только символьные атомы
Опишите функцию, которая из исходного списка формирует список, содержащий только символьные атомы.

Clojure Описать функцию, которая находила бы сумму всех числовых атомов в списке, учитывая все атомы подсписков
Описать функцию, которая находила бы сумму всех числовых атомов в списке, учитывая все атомы...

Определить функцию, объединяющую атомы двух списков С ИСПОЛЬЗОВАНИЕМ ПАРАЛЛЕЛЬНОЙ РЕКУРСИИ
Помогите определить функцию, объединяющую атомы двух списков в один ассоциативный список...


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

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