Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите с программой на lisp / 15 сообщений из 15, страница 1 из 1
15.02.2012, 19:53
    #37663905
spider844360
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
Дан список из 10 целых чисел. Составить программу, вычисляющую сумму всех положительных нечетных чисел. Буду благодарен если поможете)
...
Рейтинг: 0 / 0
15.02.2012, 20:51
    #37664031
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
spider844360Дан список из 10 целых чисел. Составить программу, вычисляющую сумму всех положительных нечетных чисел. Буду благодарен если поможете)ого сколько вас, всей групой пришли?
...
Рейтинг: 0 / 0
15.02.2012, 21:05
    #37664055
spider844360
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
да нет вроде помогите пожалуста)
...
Рейтинг: 0 / 0
15.02.2012, 23:35
    #37664228
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
spider844360,

Функция sum-positive-odd принимает список чисел, результат её вычисления есть сумма положительных нечётных в списке
Функция positive-odd? возвращает true, если число положительное и нечётное, false в иных случаях.
Функция accumulate-if-positive-odd принимает список чисел и "текущее" значение аккумулятора, результат её вычисления есть accumulate-if-positive-odd от хвоста списка (за вычетом первого элемента) и "текущего" значения аккумулятора плюс ноль либо значение первого элемента, в зависимости от результата positive-odd? в применении к этому элементу.
Результат вычисления (sum-positive-odd list) есть результат вычисления (accumulate-if-positive-odd list 0).
Так достаточно или что-то непонятно?
...
Рейтинг: 0 / 0
16.02.2012, 09:39
    #37664501
spider844360
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
я в lispe вообще непонимаю, так что эти операторы которые ты мне написал мне ничего не дают. Если не трудно напиши пожалуста программу. Заранее спасибо.
...
Рейтинг: 0 / 0
16.02.2012, 10:11
    #37664543
k0rvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
ZyK_BotaNого сколько вас, всей групой пришли?

Хе, причем судя по всему заочники. И никто не говорит, на каком диалекте нужно.

Вариант 1:
Код: xml
1.
2.
3.
4.
5.
(defun to-positive (number)
  (if (plusp number) number 0))

(defun f (list)
  (reduce #'+ list :key #'to-positive))



Вариант 2:
Код: xml
1.
2.
3.
4.
(defun f (list)
  (loop :for elem :in list
        :when (plusp elem)
        :collect elem))
...
Рейтинг: 0 / 0
16.02.2012, 10:18
    #37664554
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
spider844360я в lispe вообще непонимаю , так что эти операторы которые ты мне написал мне ничего не дают. Если не трудно напиши пожалуста программу. Заранее спасибо.
Зачем мне это делать?
...
Рейтинг: 0 / 0
16.02.2012, 13:37
    #37665090
spider844360
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
k0rvin,

второй вариант выводит тот же список что и вводили, а первый почти рабочий, он считает сумму положительных элементов, но всех как четных так и нечетных, а мне надо только сумму нечетных. Подредактируй пожалуста, спасибо что взялся помочь.
...
Рейтинг: 0 / 0
16.02.2012, 23:43
    #37666264
Mozok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
k0rvinВариант 2:
Код: xml
1.
2.
3.
4.
(defun f (list)
  (loop :for elem :in list
        :when (plusp elem)
        :collect elem))


Знаю только CL, но там вроде как sum должно быть
...
Рейтинг: 0 / 0
17.02.2012, 09:01
    #37666535
k0rvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
Mozok,

Да, по привычке написал collect, а должно быть sum
...
Рейтинг: 0 / 0
17.02.2012, 11:20
    #37666745
spider844360
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
k0rvin,

он поп прежнему сумму всех чисел складывает а мне нужно сумму нечетных чисел
...
Рейтинг: 0 / 0
17.02.2012, 12:09
    #37666860
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
spider844360k0rvin,

он поп прежнему сумму всех чисел складывает а мне нужно сумму нечетных чиселнужно - делай
...
Рейтинг: 0 / 0
17.02.2012, 14:41
    #37667289
k0rvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
spider844360k0rvin,

он поп прежнему сумму всех чисел складывает а мне нужно сумму нечетных чисел

Нет, не всех, только положительных, как добавить проверку на четность попробуй сообразить сам.
...
Рейтинг: 0 / 0
17.02.2012, 14:42
    #37667293
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
k0rvinspider844360k0rvin,

он поп прежнему сумму всех чисел складывает а мне нужно сумму нечетных чисел

Нет, не всех, только положительных, как добавить проверку на четность попробуй сообразить сам.первый хочть что-то сам пытался сообразить.
...
Рейтинг: 0 / 0
17.02.2012, 14:55
    #37667325
spider844360
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с программой на lisp
спасибо народ хоть за эту помощь)
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите с программой на lisp / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]