Подсчитать сколько раз встречается каждая буква - 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 ))

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы