2 / 2 / 0
Регистрация: 14.09.2014
Сообщений: 82
|
||||||
1 | ||||||
Вернуть список позиций вхождения list2 в list1 и глубину нахождения list2 в list127.09.2016, 22:53. Показов 1350. Ответов 10
Метки нет (Все метки)
Здравствуйте! Делаю не на лиспе, но язык такой же практически, немного названия функций другие.
Задание: написать функцию, возвращающую список позиций вхождения list2 в list1 и глубину нахождения list2 в list1. Сделала для возвращения глубины. Подскажите как доделать до нужного результата?
0
|
27.09.2016, 22:53 | |
Ответы с готовыми решениями:
10
Определить функцию NCONC(list1, list2.listn) Построить класс для работы с односвязным списком. Создать два списка: List1 и List2. Проверить, содержатся ли элементы списка List1 в списке List2 в у Проверить, содержатся ли элементы списка List1 в списке List2 в указанном списком List1 порядке сформировать списки list1 и list2 |
2 / 2 / 0
Регистрация: 14.09.2014
Сообщений: 82
|
|
28.09.2016, 19:32 [ТС] | 3 |
Чуть-чуть изменилась формулировка: Функция должна возвращать список, содержащий информацию о количестве подсписков на каждом уровне вложенности ((<уровень> <количество подсписков>)...)
0
|
2 / 2 / 0
Регистрация: 14.09.2014
Сообщений: 82
|
|
01.10.2016, 12:21 [ТС] | 5 |
(1 2) (2 1) (3 1) (4 2)
1-й уровень: (c d) ((e f ( (g h) (i j) k))) 2-й: (e f ( (g h) (i j) k)) 3-й: ( (g h) (i j) k) 4-й: (g h) (i j)
0
|
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
|
||||||
01.10.2016, 18:43 | 6 | |||||
1
|
2 / 2 / 0
Регистрация: 14.09.2014
Сообщений: 82
|
|
01.10.2016, 18:47 [ТС] | 7 |
Спасибо большое! Я, конечно, извиняюсь, но можно это как-то сделать в одной функции с хвостовой рекурсией?!
0
|
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
|
||||||||||||||||
01.10.2016, 19:22 | 8 | |||||||||||||||
вариант "простая рекурсия":
вариант "хвостовая рекурсия"
вариант "одна функция":
2
|
Модератор
|
|||||||||||
02.10.2016, 09:37 | 9 | ||||||||||
Еще решение:
Kris123, имей в виду, что приведены решения для Лиспа, а не для Схемы.
2
|
2 / 2 / 0
Регистрация: 14.09.2014
Сообщений: 82
|
||||||
07.10.2016, 18:04 [ТС] | 10 | |||||
Вот программа на Scheme. Работает, при (a b (c d) ((e f ((g h) (i j) k))))
ответ '((0 2) (1 1) (2 1) (3 2)), это правильно. Но при (a b (c d) ((e f ((g h) (i () j) k)))) - ответ такой же, т.е. не появляется (4 1), если просто пустой список. Помогите, пожалуйста, исправить.
1
|
188 / 155 / 17
Регистрация: 18.12.2015
Сообщений: 179
|
||||||
08.10.2016, 00:42 | 11 | |||||
Kris123, мне такой вариант пришёл в голову:
2
|
08.10.2016, 00:42 | |
08.10.2016, 00:42 | |
Помогаю со студенческими работами здесь
11
Определить предикат P(List1, list2, list3) Задание отношение shift(List1,List2) Список List2 получен из списка List1 организацией всех нечётных чисел в подсписок, размещаемый в конце списка За линейное время заменить каждый элемент list1 его номером в list2 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |