Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для Kot_Enot
0 / 0 / 0
Регистрация: 03.12.2011
Сообщений: 33

Функция Все-равны, которая возвращает T, если первый элемент списка равен второму

01.03.2012, 21:20. Показов 1994. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как создать функцию Все-равны, которая возвращает T, если первый элемент списка равен второму, второй третьему и т.д. При первом же неравенстве элементов возвращается NIL
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2012, 21:20
Ответы с готовыми решениями:

Функция которая возвращает первый, второй, предпоследний и последний элемент списка, в виде четырехэлементного списка
Был бы признателен за помощь. И если не затруднит, то с комментариями. Задание: Дан список произвольной длинны. Написать функцию,...

Написать функцию, которая возвращает первый, второй, предпоследний и последний элементы этого списка
Дан список произвольной длины. Написать функцию, которая возвращает первый, второй, предпоследний и последний элементы этого списка в виде...

Если 1-й элемент списка равен 1, то заменить его на букву А
Если 1-й элемент списка равен 1, то заменить его на букву А.

5
313 / 268 / 5
Регистрация: 03.04.2011
Сообщений: 456
01.03.2012, 21:49
Lisp
1
2
3
4
(defun f (lst)
  (if (cdr lst)
      (and (eql (car lst) (cadr lst)) (f (cdr lst)))
      t))
1
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
02.03.2012, 04:47
Цитата Сообщение от Kot_Enot Посмотреть сообщение
как создать функцию Все-равны, которая возвращает T, если первый элемент списка равен второму, второй третьему и т.д. При первом же неравенстве элементов возвращается NIL
если равенство у нас транзитивное, то все просто — нам нужно определить, равны ли все элементы списка:
Lisp
1
2
(defun fun (list)
  (apply #'= list))
0
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,217
Записей в блоге: 177
03.03.2012, 09:15
Добавлено через 12 минут
bokunopico,
Nameless One,
извините, а вы могли бы прокомментировать? у bokunopico всё ясно, но к созданию цикла для решения одной и той же задачи, как правило можно подойти с двух позиций, как минимум. или я ошибаюсь? давно не кодил, сорри, если что, очень давно.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
03.03.2012, 09:27
Hretgir, что именно? Мой код? Дано условие
Цитата Сообщение от Kot_Enot Посмотреть сообщение
возвращает T, если первый элемент списка равен второму, второй третьему и т.д.
т.е. https://www.cyberforum.ru/cgi-bin/latex.cgi?(x_1 = x_2) \wedge (x_2 = x_3) \wedge \ldots \wedge (x_{n-1} = x_n), где https://www.cyberforum.ru/cgi-bin/latex.cgi?x_i \, (i = \overline{1,n}) — элементы исходного списка https://www.cyberforum.ru/cgi-bin/latex.cgi?L.
Из чего следует (если допустить, что равенство транзитивно), что любые два элемента списка равны, т.е. https://www.cyberforum.ru/cgi-bin/latex.cgi?x_1 = x_2 = \ldots = x_n, что на Лиспе соответствует записи:
Lisp
1
(= x_1 x_2 x_3 x_4)
т.к. функция «=» принимает переменное число аргументов и проверяет, равны ли они одинаковому значению. Функция «apply» же просто применяет функцию, переданную первым аргументом, к списку, как если бы эта функция была вызвана с аргументами, составляющими список.
0
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,217
Записей в блоге: 177
03.03.2012, 09:47
спасибо, хотелось бы детально, по каждому слову, не просто вникать по книгам 70-ых годов, тем более большей части функций, встроенных, тогда и не было наверное. можно посмотреть в набор функций home lisp, но не факт что это там будет, да и не факт что всякий читающий ваш ответ будет иметь информацию.

Добавлено через 11 минут
придумал самую первую прогу, которую нужно накодить-прогу пишущую комментарии О_о, не знаю насколько это реально, и работоспособно, но нужно, и можно делать по ходу освоения языка. хотя у задачи науверное есть минимальный стартовый уровень знания языка, при владении которого она выполнима. мм. скорее всего его нужно знать весь. это практически ещё один компилятор, только на человеческий язык. задача для настоящих профи
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2012, 09:47
Помогаю со студенческими работами здесь

Описать функцию, которая удаляет из списка L первый неположительный элемент, если такой есть
Доброго времени суток, возникли затруднения с одной задачей, вот собственно она: Странно что в заголовке темы нельзя использовать...

Стеки (функция, которая удаляет из стека первый отрицательный элемент, если такой есть)
Здравствуйте! Помогите пожалуйста разработать функцию, которая удаляет из стека первый отрицательный элемент, если такой есть. Если не...

Создать массив: первый элемент равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих
Даны целые числа N (> 2), A и B. Сформировать и вывести цело- численный массив размера N, первый элемент которого равен A, второй равен...

Логическая функция возвращает True, если ее аргумент — простое число. Описать функцию, которая удаляет из строки все лиш
Логическая функция возвращает True, если ее аргумент — простое число. Описать функцию, которая удаляет из строки все лишние пробелы....

8. Написать программу, содержащую подпрограмму, которая копирует в конец непустого списка М его первый элемент. Если элементы не найдены, то выдать на
8. Написать программу, содержащую подпрограмму, которая копирует в конец непустого списка М его первый элемент. Если элементы не найдены,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru