|
0 / 0 / 0
Регистрация: 27.04.2011
Сообщений: 22
|
|
работа со списком04.12.2011, 17:16. Показов 3464. Ответов 33
Метки нет (Все метки)
дан список из 15 чисел.если максимальный элемент предшествует минимальному,то посчитать их сумму,если нет то просто вывести 0...
писать через рекурсию
0
|
|
| 04.12.2011, 17:16 | |
|
Ответы с готовыми решениями:
33
Работа со списком Работа со списком
|
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
| 28.03.2013, 13:12 | |
|
0
|
|
|
Супер-модератор
|
||
| 28.03.2013, 14:25 | ||
|
2
|
||
|
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 17
|
|
| 28.03.2013, 18:01 | |
|
(defun zeros (list)
(cond ((null list) nil) ((< (car list) 0) (cons 0 (zeros (cdr list)))) ((cons (car list) (zeros (cdr list)))))) (zeros '(5 9 3 -4 5 0 -9)) Объясните пожалуйста зачем нужна эта строчка: (cond ((null list) nil)
0
|
|
|
15 / 15 / 0
Регистрация: 14.03.2013
Сообщений: 77
|
|
| 28.03.2013, 18:02 | |
|
если список пуст он вернет nil
0
|
|
|
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 17
|
|
| 28.03.2013, 18:12 | |
|
так в данному случае нам дан список и он не может быть пустым
Добавлено через 1 минуту зачем нам нужна эта проверка, если список не пустой? Добавлено через 7 минут (defun zeros (list) (cond ((null list) nil) ((< (car list) 0) (cons 0 (zeros (cdr list)))) ((cons (car list) (zeros (cdr list)))))) (zeros '(5 9 3 -4 5 0 -9)) как можно по-другому написать эту функцию, чтобы не было рекурсии
0
|
|
|
15 / 15 / 0
Регистрация: 14.03.2013
Сообщений: 77
|
|
| 28.03.2013, 18:13 | |
|
чем тебе не нравится рекурсия?
0
|
|
|
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 17
|
|
| 28.03.2013, 18:16 | |
|
надо ее сделать без рекурсии
0
|
|
|
Супер-модератор
|
||||||
| 28.03.2013, 18:28 | ||||||
|
Можно без рекурсии:
0
|
||||||
|
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 17
|
|
| 28.03.2013, 18:31 | |
|
а теперь можно объяснить по строчке, что мы делаем
Добавлено через 1 минуту у меня ошибку выдает ;; Error: Unbound variable DEFUN in #<function 1 #xAC0FC0>
0
|
|
|
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
|
|||||||||||||||||||||
| 28.03.2013, 18:37 | |||||||||||||||||||||
Определить функцию, заменяющую все отрицательные элементы списка значением 0.
1
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 17
|
|
| 28.03.2013, 19:14 | |
|
(defun zeros (lst)
(let ((res nil)) (dolist (i lst (reverse res)) (push (if (< i 0) 0 i) res)))) объясните пожалуйста что обозначает и зачем нужна эта строчка: (let ((res nil))
0
|
|
|
15 / 15 / 0
Регистрация: 14.03.2013
Сообщений: 77
|
|
| 28.03.2013, 19:15 | |
|
локальной переменной res присваивается знаечение nil
0
|
|
|
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 17
|
|
| 28.03.2013, 19:18 | |
|
а зачем мы делаем это присваивание?
0
|
|
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
| 28.03.2013, 20:49 | |
|
Один из стандартных способов порождения списка в Лиспе состоит в следующем: берётся пустой список, ему в голову добавляются значения с помощью функции push, а в конце список разворачивается с помощью функции nreverse. Вот в данном случае и вводится переменная res, в которой будет храниться результат и которая изначально имеет значение пустого списка.
Лирическое отступление. Вообще, есть две функции разворачивая списка: reverse и nreverse. Первая из них создаёт новый список, а вторая изменяет конс-ячейки, из которых состоит переданный ей список. Поэтому функция nreverse экономиченее, но ею не следует пользоваться, если вы не создали её аргумент только что или собираетесь использовать его в дальнейшем. Создание списка с нуля комбинацией push/nreverse безопасно и является классическим лисповым идиомом.
1
|
|
| 28.03.2013, 20:49 | |
|
Работа со списком Работа со списком работа со списком
Работа со списком Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
Сразу отвечу: А в PvP с ним. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|