Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lisp
Войти
Регистрация
Восстановить пароль
 
nika-violet
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 24
1

Scheme

08.10.2016, 16:35. Просмотров 254. Ответов 3
Метки нет (Все метки)

пытаюсь написать программу, которая для списка определяет максимальное количество идущих подряд атомов.

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
(define (max a b) (cond ((> a b) a b)))
 
(define (one-elem-list l) (and (list? l) (and (not (null? l)) (null? (cdr l)))))
 
(define (f l)
    (define (go a b l)
        (cond ((null? l) (max a b)
              (one-elem-list (car l)) (go a (+ 1 b) (cdr l))
              (go (max a b) 0 (cdr l)))))
    (go 0 0 l))
 
(display (f '(1 1 1)))
(display (f '(1 (1) (1) 1 (1) ((1 1 1)) (1) (1) (1 1) (1) (1) 1 (1))))
в http://ideone.com/gMrzjU говорит что успешно, но результат неизвестен((( подскажите как его увидеть, где я не права?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2016, 16:35
Ответы с готовыми решениями:

Scheme
Для заданного списка определить максимальное количество идущих подряд атомов....

Scheme
(define (max x y) (if (x > y) x y)) При попытке применить кидает - The...

Scheme
Определить, есть ли в списке два подряд идущих списка. посмотрите пожалуйста

Scheme, конструкция let
Здравствуйте, я написал два варианта вычисления квадратного корня методом...

Инкремент на Scheme
Приветствую! Потребовалось реализовать функцию инкремента, но ничего не...

3
Catstail
Модератор
23605 / 11706 / 2046
Регистрация: 12.02.2012
Сообщений: 19,097
08.10.2016, 18:10 2
В stderr у тебя выводится нечто неопределенное. Вот рабочий код:

Lisp
1
2
3
4
5
6
7
8
(define (task lst)
  (define (count x c m)
     (cond ((null? x) (if (> c m) c m))
           ((list? (car x)) (if (> c m) (count (cdr x) 0 c) (count (cdr x) 0 m)))
           (#t (count (cdr x) (+ c 1) m))))
  (count lst 0 0))
  
  (display (task '(1 2 (1) (2) (3) 4 5 6)))
http://ideone.com/uotGn9
0
nika-violet
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 24
08.10.2016, 19:29  [ТС] 3
как я понимаю если задать (display (task '(1 2 3))), вроде должно быть 1? или я не до конца понимаю, а показывает 3.
0
korvin_
2164 / 1653 / 320
Регистрация: 28.04.2012
Сообщений: 5,911
08.10.2016, 20:05 4
Цитата Сообщение от nika-violet Посмотреть сообщение
где я не права?
В cond.

Цитата Сообщение от nika-violet Посмотреть сообщение
подскажите как его увидеть
Прочитать документацию по языку. В частности описание синтаксиса и семантики cond.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2016, 20:05

Schools using Scheme
Adelphi University, Garden City, NY CSC 160: Computer Programming for...

Eval в racket (scheme)
Хочу опробовать генетические алгоритмы, но застопорился на выполнении. Есть...

Работа со списками на Scheme
Здравствуйте уважаемые участники форума. Требуется небольшая помощь. Нам...


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

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

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