Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
2 / 2 / 0
Регистрация: 17.12.2015
Сообщений: 20

Не могу дописать код

11.03.2016, 00:23. Показов 1424. Ответов 2
Метки lisp (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте, помогите пожалуйста, есть задание "Даны число и S-выражение, состоящее из чисел.ИСПОЛЬЗУЯ ТОЛЬКО БАЗОВЫЕ КОМАНДЫ ТИПА CAR CDR CONS ATOM и т.п., определить функцию, возвращающую количество элементов на всех уровнях этого S-выражения, которые равны данному числу.
К примеру "5 (4 5 ((3 5 (4)) 2) 2 5 6)", ответом будет "3", я смог написать код , подсчитывающий количество цифр только если S-выражение имеет один уровень (к примеру 5'( 2 3 4 5 6 7) ), и не хватает ума используя проверку дописать код который смог бы грамотно и правильно считать элементы на всех уровнях. Ниже напишу свой код. Большое спасибо всем тем, кто откликнется.


Lisp
1
2
3
(defun poisk (n k)
(cond ((= n (car k)) (+ 1 (poisk n (cdr k))))
(t (poisk n (cdr k)))))
потом я пытался его изменить и ловлю кучу ошибок

Lisp
1
2
3
4
5
6
7
8
9
(defun poisk (n k)
(cond ((ATOM k)
(cond
((= n k) (+ 1 (poisk n(cdr k))))
(t (poisk n (cdr k)))
))
(t (poisk n (cdr k)))
)
)
1
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2016, 00:23
Ответы с готовыми решениями:

Не могу дописать код..
Доброе утро! вот собственно все утро решал себе на лабу задачку: Таблица футбольного чемпионата задана квадратной матрицей порядка N,...

Не могу дописать код программы
создать структуру типа: Код: struct employee {char*name; float salary; int stage; }; осуществить поиск элементов в...

Работа с матрицей (дописать код) (не могу вывести)
Задание : Дана символьная матрица. Расстоянием между двумя строками назовем количество позиций, в которых различаются эти строки. Для...

2
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
11.03.2016, 01:43
Лучший ответ Сообщение было отмечено PetrovP как решение

Решение

Lisp
1
2
3
4
5
6
7
8
(defun count-atom (a w)
  (cond ((null w) 0)
        ((atom w) (if (= w a) 1 0))
        (t (+ (count-atom a (car w))
              (count-atom a (cdr w))))))
 
> (count-atom 5 ' (4 5 ((3 5 (4)) 2) 2 5 6))
3
Добавлено через 1 минуту
Lisp
1
2
3
4
5
6
7
8
(defun count-atom (a w)
  (if w (if (atom w) (if (= w a) 1 0)
            (+ (count-atom a (car w))
               (count-atom a (cdr w))))
      0))
 
> (count-atom 5 ' (4 5 ((3 5 (4)) 2) 2 5 6))
3
2
2 / 2 / 0
Регистрация: 17.12.2015
Сообщений: 20
12.03.2016, 10:40  [ТС]
Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2016, 10:40
Помогаю со студенческими работами здесь

не могу дописать функцию перевода текста на 2сс,не могу возвращать переведенный текст
void itoa(char str){ int i; char buf; char url; char yn; int x=0; i=0; while(str){ _itoa_s( (unsigned char)str, buf, 2);...

Не могу дописать прогу
Помогите пожайлуста, есть форма с 2-мя textbox и одной кнопкой, нужно чтобы по нажатию на кнопку данные с textbox-ов отправились на Email,...

никак не могу дописать...
программа должна считывать текст с документа .txt но она читает только английские тексты..а нада что бы читала все... private...

Не могу дописать программу
Помогите пожалуйста написать процедуру, которая из двух массивов выбирает одинаковые элементы и помещает в компонент мемо. Вот что я уже...

Не могу дописать программу
Яйца фасуются на лотки 5х6 и помещаются в коробки в 2 стопки по 6 лотков в каждой. Предприниматель хочет купить прибор, который будет...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
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