Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Lisp Рекурсия в LISP Можете помочь написать решение этих двух задачек с помощью рекурсий??? 1. Определить функцию COPYF(X N), результатом которой является список из N копий X. Так (COPY 2 5)->(2 2 2 2 2). 2. Определить функцию (UNIONS X Y), результатом работы которой является список, в котором присутствуют все элементы списков X и Y. Причем в сформированном списке сначала расположены элементы X, которых нет в Y,... https://www.cyberforum.ru/ lisp/ thread685202.html Lisp sbcl, ALSA через ffi, и файловый ввод/вывод
Всем привет! Уже несколько часов ковыряюсь в гугле, никак не могу понять, как же лучше провернуть то что хочется. А хочется читать бинарные файлы (массивы чисел), возможно проводить ненатужную обработку и выводить результат при помощи foreign функции напоминающей стандартный C'шный write. Собственно файлы эти -- это сэмплы звука записанные в PCM формате. foreign функция -- snd_pcm_writei из...
Lisp "Рекурсивное программирование" https://www.cyberforum.ru/ lisp/ thread684371.html
Нужно определить номер элемента списка из целых чисел, значение которого равно сумме первого и последнего элементов того же списка >(name ‘(1 2 3 4 5 6 4)) 5 >(name ‘(1 2 3 4 0 6 4)) NIL Необходимо решить двумя способами: 1. Разработать рекурсивный вариант программы в функциональном стиле для решения предложенной задачи. 2. Разработать итерационный вариант программы в императивном...
Lisp как в Лиспе из числа ну допустим 12 сделать числа 1 и 2 или 1001 должно получится числа 1 0 0 1 т.е я их смогу обрабатывать как список -)))) https://www.cyberforum.ru/ lisp/ thread683969.html
Здравствуйте, простой вопрос как в Лиспе из числа ну допустим 12 сделать числа 1 и 2 или 1001 должно получится числа 1 0 0 1 т.е я их смогу обрабатывать как список -)))) Заранее спасибо за ответ.
Сортировка и удаление элементов Lisp
Помогите пожалуйста с итерационным вариантом решении задачи, в общем надо отсортировать список по возрастанию и устранить повторы элементов. '(1 2 1 1 4 5 7 7) -> '(1 2 4 5 7). И сделать это только с помощью примитивов, car, cdr, cons. Рекурсивно я сделал это задание, а итерационно, ну никак не могу.
Lisp Дано натуральное число n .Подсчитать количество нулей в десятичной системе счисления https://www.cyberforum.ru/ lisp/ thread682811.html
Дано натуральное число n .Подсчитать количество нулей в десятичной системе счисления
Lisp Программа в Lisp Помогите с программой,пожалуйста. Дан массив из 15 целых чисел.Если min элемента массива находится на втором месте ,а max на первом ,то все элементы в массиве уменьшить в 2 раза. https://www.cyberforum.ru/ lisp/ thread682808.html Lisp Посчитать количество одинаковых элементов(матрица)
Можете пожалуйста дополнить предыдущие задание Посчитать количество одинаковых элементов, но уже чтоб работала с aij ( ( (2) -3 (4) 0 -2) ( -4 0 2) ((-3) (3)-4 3) )
Lisp если-подсписок не соответсвует формату если-подсписок не соответсвует формату как называется эта функция например, если символ -symbolp а мне нежуно если-подсписок не соответсвует формату Помогите, пожалуйста! https://www.cyberforum.ru/ lisp/ thread679632.html Lisp Дифференцирование Разбираюсь в коде для дифференцирования на Lisp. ( defun dif_g(L x) (cond ((atom L)(if(Eql L x)1 0)) (T(funcall (get(car L)'deriv)(cdr L))) )) (defun reduce_g(A) (cond((atom A)A) (T(funcall(get(car A)'reduce)(cdr A))) )) https://www.cyberforum.ru/ lisp/ thread678852.html
Определить, является ли сумма элементов списка из целых чисел, четным числом Lisp
Ребят, помогите, пожалуйста, завтра нужно сдавать, а я не могу разобраться в Лиспе. Нужно две программы в рекурсивном и императивном варианте. Определить, является ли сумма элементов списка из целых чисел, четным числом. Пожалуйста, помогите :-Добавлено через 2 часа 20 минут Ребят, ну что же вы. Помогите плиз!!!
Lisp Формировать список, являющийся объединением двух исходных списков, за https://www.cyberforum.ru/ lisp/ thread677925.html
Задание №1. Разработать рекурсивный вариант программы в функциональном стиле для решения предложенной задачи. Задание №2. Разработать итерационный вариант программы в императивном стиле для решения предложенной задачи. Формировать список, являющийся объединением двух исходных списков, за >(name ‘(a s d f g) ‘(q w a s )) (d w f g) Ребята, помогите
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,606
Записей в блоге: 13
01.11.2012, 13:49 0

Написать функцию сортировки списка методом прямого выбора - Lisp - Ответ 3638970

01.11.2012, 13:49. Показов 5815. Ответов 30
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

Вот функциональное решение первой задачи (сортировка выбором):

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
;; вспомогательная функция min2
 
(defun min2 (x y) (if (< x y) x y))
 
==> min2
 
(min2 5 6)
 
==> 5
 
(min2 5 -6)
 
==> -6
 
;; распространение min2 на произвольное к-во чисел
 
(defun min! (x) (cond ((= (length x) 1) (car x))
                      ((= (length x) 2) (min2 (car x) (cadr x)))
                      (t (min2 (car x) (min! (cdr x))))))
 
==> min!
 
;; Удаление из списка первого вхождения атома 
 
(defun remove (x a) (cond ((null x) nil)
                          ((EQ a (car x)) (cdr x))
                          (t (cons (car x) (remove (cdr x) a))))) 
 
==> remove
 
(remove '(11 22 33 11 22 33) 33)
 
==> (11 22 11 22 33)
 
;; Сортировка выбором
 
(defun sort (x) (cond ((null x) nil)
                      (t (cons (min! x) (sort (remove x (min! x) ))))))
 
(sort '(1 2 -3 33 12))
 
==> (-3 1 2 12 33)
Добавлено через 14 минут
Вторая задача:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
;; Вспомогательная функция сравнения структур
 
(defun equal (x y) (COND ((ATOM x) (EQ x y)) 
                                   ((ATOM y) NIL) 
                                   ((equal (CAR x) (CAR y)) (equal (CDR x) (CDR y))) (T NIL)))
 
==> equal
 
(equal '(1 2 3) '(1 2 3))
 
==> T
 
(defun isSublist(lst s) 
    (cond ((null lst) nil)
          ((atom (car lst)) (OR (equal (car lst) s) (isSublist (cdr lst) s))) 
          (t (OR (equal (car lst) s) (isSublist (car lst) s) (isSublist (cdr lst) s))))) 
 
==> isSublist
 
(isSublist '(1 2 3) 2)
 
==> T
 
(isSublist '(1 2 3) 7)
 
==> NIL
 
(isSublist '(1 2 (((7))) 3) 7)
 
==> T
 
(isSublist '(1 2 (((7))) 3) '(7))
 
==> T


Вернуться к обсуждению:
Написать функцию сортировки списка методом прямого выбора Lisp
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2012, 13:49
Готовые ответы и решения:

Написать функцию сортировки списка методом прямого выбора
написать функцию сортировки списка методом прямого выбора. встроенные функции MAX и MIN не...

Написать программу сортировки списка методом пузырька
С комментариями пожалуйста

Написать программу сортировки списка методом Шелла
Написать программу сортировки списка методом Шелла. Вычисление последовательности шагов сортировки...

Определить функцию THIRD выбора третьего элемента списка LST
Добрый вечер. Мне уже вчера очень помогли с решением, прошу помощи еще с одной задачей 1....

30
01.11.2012, 13:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2012, 13:49
Помогаю со студенческими работами здесь

Сортировка массива методом прямого выбора и методом прямого обмена (пузырьковая)
Сортировка в Delphi массива из 6 двухзначных чисел. Методом прямого выбора и методом прямого...

Написать программу, которая методом прямого выбора сортирует по убыванию введённый с клавиатуры массив
Здравствуйте, вот написал программу по сортировки массива по убыванию, но в нем надо чтобы значения...

Напишите процедуру сортировки линейного связного списка методом простого выбора с изменением указателей
Вот программа создающая линейный связный список. Type Ukazatel = ^S; S = Record Data : string;...

Написать процедуру сортировки массива методом простого выбора
помогите,плиз!? написать процедуру сортировки массива методом простого выбора

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru