Подсчитать сколько раз встречается каждая буква - Lisp
Формулировка задачи:
Помогите пожалуйста с задачкой. Заранее спасибо
Дана строка текста. Подсчитать, сколько раз встречается каждая буква в этой строке. Вывести результаты в форме «буква: количество» через пробел
Например:
если дано "hello world", ответом будет "h:1 e:1 l:3 o:2 w:1 r:1 d:1".Решение задачи: «Подсчитать сколько раз встречается каждая буква»
textual
Листинг программы
(defun freq (txt) (let ((arr (replicate 0 256)) (res "")) (iter (for a in-string txt) (let* ((p (strAsc a)) (pp (+ p 1)) (z (+ 1 (getEl arr pp)))) (putEl arr pp z))) (iter (for i in arr) (for j from 0 to 255) (if (> i 0) (setq res (strCat res (strChr j) ": " (fix2str i) " ")))) res ))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д