Advertisement
Tolyamba

Untitled

Mar 28th, 2017
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.03 KB | None | 0 0
  1. #lang racket
  2. (display "Лабораторная работа №4 ")
  3. (newline)
  4. (display "Количество нулевых элементов в списке: ")
  5. (define (sum0 x n)
  6.   (if (null? x) n // если список пуст, то выводим кол-во нулевых элементов
  7.   (if (= (car x) 0) // если список не пустой и первый элемент = 0,    
  8.       (sum0 (cdr x) (+ n 1)) // тогда рекурсивно вызываем функцию с отбрасыванием первого элемента в списке и увеличением значения кол-ва элементов на 1
  9.       (sum0 (cdr x) n) // иначе рекурсивно вызываем функцию с отбрасыванием первого элемента в списке
  10.        )
  11.   )
  12.   )
  13.  
  14. // пример входной строки
  15. (sum0 (list 2 45 0 9) 0) // название списка (sum0), сам список (х), количество нулевых элементов (n)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement