Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 13
1

Функционал: каждые соседние два элемента списка с четным количеством элементов превратить в двухэлементный список

10.11.2013, 17:02. Показов 1062. Ответов 6
Метки нет (Все метки)

Здравствуйте!
помогите пожалуйста со следующим заданием
Определить функционал, который каждые соседние два элемента списка из парным количеством элементов превращает в двухэлементный список. Пример: (abcd ...) ==> ((ab) (cd) ...). Длина списка не определена.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2013, 17:02
Ответы с готовыми решениями:

Превратить список с парной количеством элементов в ассоциативной список
И снова списки: Дан список (a b c d ...) с парной количеством элементов. Превратить его в...

Дано два однонаправленных списка целых чисел. Увеличить все элементы с четным количеством цифр из первого спис
Дано два однонаправленных списка целых чисел. Увеличить все элементы с четным количеством цифр из...

Список: Определить, является ли четным длина списка, не подсчитывая количество его элементов
Ребята подскажите момент. Суть задачи такова: "Определить является ли четным длинна списка, не...

Из введенных целых чисел сформировать два списка типа стек с одинаковым количеством элементов.
Из введенных целых чисел сформировать два списка типа стек с одинаковым количеством элементов....

__________________
6
Модератор
Эксперт Python
28552 / 15423 / 3046
Регистрация: 12.02.2012
Сообщений: 25,274
Записей в блоге: 4
10.11.2013, 17:48 2
Лучший ответ Сообщение было отмечено как решение

Решение

Это уже решалось... Что такое "парное количество"? Может, парнОе (т.е. свежее)?

Lisp
1
2
3
4
5
6
7
8
9
(defun task (lst)
  (cond ((null lst) nil)
        (t (cons (list (car lst) (cadr lst)) (task (cddr lst))))))
 
==> task
 
(task '(a b c d e f g h))
 
==> ((a b) (c d) (e f) (g h))
2
493 / 426 / 56
Регистрация: 29.04.2011
Сообщений: 443
10.11.2013, 18:03 3
Lisp
1
2
3
4
5
6
7
8
(defun MAKE-PAIRS (l)
    (if l
        (cons (funcall 'list (car l) (cadr l)) (MAKE-PAIRS (cddr l)))
         nil))
 
(MAKE-PAIRS '(1 2 3 4 5 6))
 
==> ((1 2) (3 4) (5 6))
1
4502 / 4210 / 356
Регистрация: 12.05.2012
Сообщений: 2,963
10.11.2013, 20:41 4
Lisp
1
2
3
4
5
6
7
(defun make-pairs (w)
  (when w (cons (list (car w) (cadr w)) (make-pairs (cddr w)))))
 
> (make-pairs '(a b c d e f))
((A B) (C D) (E F))
> (make-pairs '(a b c d e))
((A B) (C D) (E NIL))
2
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 13
11.11.2013, 12:30  [ТС] 5
спасибо большое
0
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 13
12.11.2013, 23:33  [ТС] 6
а с определением функционала как будет?
здесь же вроде без него
0
4502 / 4210 / 356
Регистрация: 12.05.2012
Сообщений: 2,963
13.11.2013, 00:27 7
Lisp
1
2
3
4
5
6
7
(defun with-pairs (f w)
  (when w (cons (funcall f (car w) (cadr w)) (with-pairs f (cddr w)))))
 
> (with-pairs #'list '(1 2 3 4 5 6))
((1 2) (3 4) (5 6))
> (with-pairs #'+ '(1 2 3 4 5 6))
(3 7 11)
Добавлено через 1 минуту
Lisp
1
2
3
4
5
6
> (with-pairs #'- '(1 2 3 4 5 6))
(-1 -1 -1)
> (with-pairs #'* '(1 2 3 4 5 6))
(2 12 30)
> (with-pairs #'expt '(1 2 3 4 5 6))
(1 81 15625)
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2013, 00:27

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Сложить два соседних элемента списка и вывести их в новый список
Здраствуйте! помогите пожалуйста разобраться с задачей! Нужно сложить два соседних элемента списка...

В исходном массиве с четным числом элементов поменять местами соседние элементы
В исходном массиве с четным числом элементов поменять местами соседние элементы. Вывести исходный и...

В одномерном массиве с чётным количеством элементов 2N
#include <iostream> #include <iomanip> #include <vector> #include <cmath> using namespace std;...

В одномерном массиве с четным количеством элементов (2N)
В одномерном массиве с четным количеством элементов (2N) находятся координаты Лоточек плоскости....

В одномерном массиве с четным количеством элементов
В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости....

Дан вектор V с четным количеством элементов
Дан вектор V с четным количеством элементов. Добавить нулевой элемент перед последним элементом в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.