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

Подсчитать сумму всех четных и нечетных элементов списка

05.05.2012, 23:26. Показов 5926. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Это опять я) теперь нада лаба другу
Разработать итерационный вариант программы в императивном стиле для решения предложенной задачи.
Разработать рекурсивный вариант программы в функциональном стиле для решения предложенной задачи.
Подсчитывать сумму всех нечётных элементов списка (по месту нахождения)
Подсчитывать сумму всех чётных элементов списка (по месту нахождения)
>(name ‘(1 2 3 4))
4
>(nameс ‘(1 2 3 4))
6
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2012, 23:26
Ответы с готовыми решениями:

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

Найти сумму всех нечётных и сумму всех чётных элементов матрицы
Дана целочисленная матрица размера M*N. Найти сумму всех нечетных элементов и сумму всех четных.

Массивы: вывести сумму всех четных/всех нечетных элементов массива
Задание: Пользователь вводит 5 чисел в массив из 5 элементов. Вывести сумму всех четных чисел. А потом всех нечетных. Есть код:...

4
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38179 / 21114 / 4307
Регистрация: 12.02.2012
Сообщений: 34,721
Записей в блоге: 14
06.05.2012, 12:53
Императивное решение:

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
(defun sum-sum (x mode)
   (cond ((= mode 'ODD)
          (prog (s i)
            (setq i 1)
            (setq s 0)
            (return (dolist (a x s) (if (= (mod i 2) 1) (setq s (+ a s))) (setq i (+ i 1) )))
          ))
         ((= mode 'EVEN)
          (prog (s i)
            (setq i 1)
            (setq s 0)
            (return (dolist (a x s) (if (= (mod i 2) 0) (setq s (+ a s))) (setq i (+ i 1) )))
          )) 
         (t 'Bad_mode!)))
 
==> sum-sum
 
(sum-sum '(1 2 3 4 5 6) 'even)
 
==> 12
 
(sum-sum '(1 2 3 4 5 6) 'odd)
 
==> 9
Добавлено через 13 минут
Функциональное решение:

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
(defun get-even (x)
   (cond ((null (cdr x)) nil)
         (t (cons (cadr x) (get-even (cddr x))))))
 
==> get-even
 
(get-even '(1 2 3 4 5 6))
 
==> (2 4 6)
 
(defun get-odd (x)
   (cond ((null (cdr x)) nil)
         (t (cons (car x) (get-odd (cddr x))))))
 
==> get-odd
 
(get-odd '(1 2 3 4 5 6))
 
==> (1 3 5)
 
(defun sum-sum-f (x filtr)
   (apply '+ (funcall filtr x)))
   
==> sum-sum-f
 
(sum-sum-f '(1 2 3 4 5 6) #'get-odd)
 
==> 9
 
(sum-sum-f '(1 2 3 4 5 6) #'get-even)
 
==> 12
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
06.05.2012, 13:29
Lisp
1
2
3
4
5
6
7
8
9
(defun sum-evens (list)
  (loop
       for even = nil then (not even)
       for item in list when even sum item))
 
(defun sum-odds (list)
  (loop
       for odd = t then (not odd)
       for item in list when odd sum item))
1
313 / 268 / 5
Регистрация: 03.04.2011
Сообщений: 456
06.05.2012, 17:00
Lisp
1
2
3
4
5
6
7
(defun sum-evens (list)
  (iter (for i in (cdr list) by #'cddr)
        (summing i)))
 
(defun sum-odds (list)
  (iter (for i in list by #'cddr)
        (summing i)))
1
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
12.05.2012, 21:21
Lisp
1
2
3
4
5
6
7
(defun sum-odd (w &optional (ac 0)) 
  (cond ((null w) ac)
        ((oddp (car w)) (sum-odd (cdr w) (+ ac (car w))))
        ((sum-odd (cdr w) ac))))
 
> (sum-odd '(1 2 3 4))
4
Lisp
1
2
3
4
5
6
7
(defun sum-even (w &optional (ac 0)) 
  (cond ((null w) ac)
        ((evenp (car w)) (sum-even (cdr w) (+ ac (car w))))
        ((sum-even (cdr w) ac))))
 
> (sum-even '(1 2 3 4))
6
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2012, 21:21
Помогаю со студенческими работами здесь

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

Подсчитать сумму четных элементов и произведение нечетных элементов матрицы
Помогите пожалуйста исправить ошибку, в выделенном месте пишет if (a % 2 == 0) "выражение должно относиться к целочисленному типу или типу...

Подсчитать сумму четных элементов и произведение нечетных элементов матрицы двумерного массива
Подсчитать сумму четных элементов и произведение нечетных элементов матрицы двумерного массива

Подсчитать разницу между суммой всех чётных и суммой всех нечётных элементов массива целых чисел
подсчитать разницу между суммой всех чётных и суммой всех нечётных элементов массива целых чисел помогите пожл

Числа. Подсчитать количество четных и нечетных чисел- разрядов. Найти суммы только всех четных и только нечетных, проверить какая из сумм больше
Добрый день, не могу понять как же составить программу для этой задачи без использования массивов. Запросить у пользователя...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 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 На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru