Форум программистов, компьютерный форум, киберфорум
Наши страницы
Erlang, OTP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Ressin
0 / 0 / 0
Регистрация: 07.01.2019
Сообщений: 60
1

Обработка списков

28.06.2019, 18:01. Просмотров 1476. Ответов 2
Метки нет (Все метки)

Здравствуйте

Дано задание:
Построить список [[1,[2,[3],4]],5], используя только числовые значения и оператор "|":
У меня получилось [[[1|[2]]]|[3|[[4|[5|[]]]]]]. Однако мне указали на то, что в списке много "]" и, что можно сделать проще. Как проще то ? Подскажите пожалуйста

После чего нужно изобразить структуру получившегося списка при помощи списочных ячеек и стрелок.
Здесь же у меня получилась следующая картина. Но и тут не правильно. Помогите
0
Миниатюры
Обработка списков  
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2019, 18:01
Ответы с готовыми решениями:

Обработка списков
Список состоит из букв и цифр, буквы оставить без изменения, а цифры умножить на 2.

Обработка списков
Ребят, помогите в решение этой задачи... заранее благодарю) Переместить элемент в динамическом...

Обработка списков
Программа работы со списками написана, для малых списков (малых по объему занимаемой памяти) она...

Обработка списков
Реализовать на Scheme: Определите следующие процедуры для обработки списков: Процедуру...

Обработка списков
Помогите защитить учебную практику. Заранее спасибо

2
Black Fregat
3174 / 1766 / 499
Регистрация: 31.05.2009
Сообщений: 6,133
29.06.2019, 06:55 2
Лучший ответ Сообщение было отмечено Ressin как решение

Решение

Я так понимаю, Вам хотели намекнуть, что список из одного элемента не надо строить как [5|[]] - по условию [5] вполне подходит.

То, что у Вас получилось, а именно [[[1|[2]]]|[3|[[4|[5|[]]]]]] - это совсем не правильно.
Правильно так: [[1|[[2|[[3|[]]|[4|[]]]]|[]]]|[5|[]]]
А если без лишних скобок, то так: [[1|[[2|[[3]|[4]]]]]|[5]]

Разворачивать список в структуру надо не "змеёй", как у Вас вышло, а линейно по уровням.
В самом верхнем списке 2 элемента, значит, будет 2 кубика:
Код
[_|_]->[5|X]
 |
 v
[1,[2,[3],4]]
Дальше попробуйте самостоятельно
4
Ressin
0 / 0 / 0
Регистрация: 07.01.2019
Сообщений: 60
29.06.2019, 07:09  [ТС] 3
Спасибо !)
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2019, 07:09

Обработка списков
1. Используя только CAR и CDR вытащить 'aaa' и следующего списка: (((( ddd (aaa)) eee) nnn) kkk) ...

Обработка списков
В коде, в строке head_list(list). появилась ошибка No clauses for this predicate. Но...

Обработка списков
Даны два непустых списка целых чисел L1 и L2. Создать программу, которая строит список L3,...


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

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

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