Поиск:

Ответ в темуСоздание новой темы Создание опроса
> определить функцию количество элементов в списке, определить функцию количество элементов  
:(
    Опции темы
virux
Дата 27.3.2011, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.2.2011

Репутация: нет
Всего: нет



определить функцию, которая бы вычислить количество элементов в списке с помощью циклов.

пример:
(A B C) -3 елемента
(A(B C)) - 2 елемента
PM MAIL   Вверх
k0rvin
Дата 28.3.2011, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: нет
Всего: 5



Код

(defun count (list)
  (do ((xs list (cdr xs))
       (n  0    (+ n 1)))
      ((null xs) n)))



--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
virux
Дата 28.3.2011, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.2.2011

Репутация: нет
Всего: нет



Цитата(k0rvin @ 28.3.2011,  12:39)
Код

(defun count (list)
  (do ((xs list (cdr xs))
       (n  0    (+ n 1)))
      ((null xs) n)))


всё разабрался спасибо.

edit.

Это сообщение отредактировал(а) virux - 28.3.2011, 17:05
PM MAIL   Вверх
_sg
Дата 25.4.2014, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 16.5.2007

Репутация: 2
Всего: 2



как вариант:
Код

(defun -length (w)
  (loop for a in w counting a))

> (-length '(a b c d e))
5

--------------------
vk.com/ansicommonlisp
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума LISP
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Lisp — это целое семейство языков. Всегда указывайте в теме используемый диалект (Common Lisp, Scheme и т.д.).
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LISP | Следующая тема »


 




[ Время генерации скрипта: 0.0781 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.