0 / 0 / 0
Регистрация: 23.04.2018
Сообщений: 14
1

Имеется список слов. Составить список различных слов этого списка с указанием частоты их появления в списке

29.04.2018, 21:51. Показов 1254. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется список слов. Составить список различных слов этого списка с указанием частоты их появления в списке
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2018, 21:51
Ответы с готовыми решениями:

Составить список различных слов первого списка с указанием частоты их появления в первом списке
Имеется список слов. Составить список различных слов первого списка с указанием частоты их...

В файле задан список слов; составить список слов, встречающихся в списке только один раз
.В файле задан список слов. Составить список слов, встречающихся в списке только один раз. Почините...

Дан список слов различной длины. Составить программу упорядочения списка слов: По их длине; По алфавиту
Очень срочно!!!!! Дан список слов различной длины. Составить программу упорядочения списка...

Прочитать последовательность слов в список. Если количество слов четно, то тогда создать список из 2-го, 4-го и т.д. слов
Вот условие задачи(В файл занести последовательность слов. Прочитать последовательность слов в...

5
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
29.04.2018, 23:04 2
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
(defun count-word (pathname)
  (let ((u)) (with-open-file (s pathname :direction :input)
               (do ((c (read-line s nil :eof) (read-line s nil :eof)))
                   ((eql c :eof))
                 (setq u (nconc (en c) u))))
       (qu u)))
 
(defun en (s) 
  (read-from-string
   (concatenate
    'string "(" (delete-if-not #'(lambda (x)
                                   (or (alpha-char-p x)
                                       (equal x #\space)
                                       (equal x #\-)))
                               s) ")")))
 
(defun qu (w)
  (when w (let ((a (car w)) (d (cdr w)))
            (cons (cons (string-downcase a) (count a w))
                  (qu (delete a d))))))
 
> (count-word "test.txt")
(("less" . 5) ("de-facto" . 1))
Добавлено через 42 секунды
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
(defun count-word (pathname)
  (let ((u)) (with-open-file (s pathname :direction :input)
               (do ((c (read-line s nil :eof) (read-line s nil :eof)))
                   ((eql c :eof))
                 (setq u (nconc (list-symb (drop-noise c)) u))))
       (list-pair (sort u #'string<))))
 
(defun list-symb (s)
  (read-from-string (concatenate 'string "(" s ")")))
 
(defun drop-noise (s)
  (delete-if-not #'(lambda (x) (or 
                                (alpha-char-p x)
                                (equal x #\space)
                                (equal x #\-))) s))
 
(defun list-pair (w &optional (e (car w)) (n 0) u)
  (mapcan #'(lambda (a) (incf n) (unless (eql a e)
                                   (setq u (cons e n) n 0 e a)
                                   (list u)))
          w))
 
> (count-word "test.txt")
(LEGAL . 1) (LEGALLY . 2)
Добавлено через 20 секунд
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(defun count-word (pathname)
  (with-open-file (s pathname :direction :input)
    (loop for line = (read-line s nil nil)
          while line
          nconc (list-symb (drop-noise line)) into words
          finally (return (sort (list-pair words) #'> :key #'cdr)))))
 
(defun list-symb (s)
  (read-from-string (concatenate 'string "(" s ")")))
 
(defun drop-noise (s)
  (delete-if-not #'(lambda (x) (or 
                                (alpha-char-p x)
                                (equal x #\space)
                                (equal x #\-))) s))
 
(defun list-pair (words &aux (hash (make-hash-table)) acc)
  (dolist (word words) (incf (gethash word hash 0)))
  (maphash #'(lambda (e n) (push `(,e . ,n) acc)) hash) acc)
 
> (count-word "test.txt")
((ANNEXED . 1))
Добавлено через 32 секунды
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
(defun count-word (pathname)
  (let ((u)) (with-open-file (s pathname :direction :input)
               (do ((c (read-line s nil :eof) (read-line s nil :eof)))
                   ((eql c :eof))
                 (setq u (nconc (en c) u))))
       (symb-str u)))
 
(defun en (s) 
  (read-from-string
   (concatenate 
    'string "(" (delete-if-not #'(lambda (x)
                                   (or (alpha-char-p x)
                                       (equal x #\space)
                                       (equal x #\-)))
                               s) ")")))
 
(defun symb-str (w)
  (let ((u)) (dolist(n w)
               (push (string-downcase n) u))
       (count-str (sort u #'string-greaterp))))
 
(defun count-str (w)
  (let ((u) (e (car w)) (n 1))
    (dolist (m w)
      (cond ((equal m e) (incf n))
            ((push (cons e n) u) (setq n 1 e m))))
    u))
 
> (count-word "test.txt")
(("along" . 3) ("already" . 3))
Добавлено через 52 секунды
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(defun count-word (pathname)
  (let ((u)) (with-open-file (s pathname :direction :input)
               (do ((c (read-line s nil :eof) (read-line s nil :eof)))
                   ((eql c :eof))
                 (setq u (nconc (list-symb (drop-noise c)) u))))
       (list-pair (list-str u))))
 
(defun list-symb (s)
  (read-from-string (concatenate 'string "(" s ")")))
 
(defun drop-noise (s)
  (delete-if-not #'(lambda (x) (or 
                                (alpha-char-p x)
                                (equal x #\space)
                                (equal x #\-))) s))
 
(defun list-str (w)
  (sort (mapcar #'(lambda (a) (string-downcase a)) w) #'string-lessp))
 
(defun list-pair (w &optional (e (car w)) (n 0) u)
  (mapcan #'(lambda (a) (incf n) (when (string-not-equal a e)
                                   (setq u (cons e n) n 0 e a)
                                   (list u)))
          w))
 
> (count-word "test.txt")
(("balance" . 1) ("based" . 1))
2
0 / 0 / 0
Регистрация: 23.04.2018
Сообщений: 14
29.04.2018, 23:28  [ТС] 3
А какой из этих кодов правильный?
0
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
30.04.2018, 07:36 4
Lisp
1
2
3
4
5
6
7
8
9
10
11
(defun list-pair (words &aux (hash (make-hash-table)) acc)
  (dolist (word words) (incf (gethash word hash 0)))
  (maphash #'(lambda (e n) (push `(,e . ,n) acc)) hash) acc)
 
> (list-pair '(lisp is the second-oldest high-level programming language in widespread use today lisp has changed since its early days and many dialects have existed over its history today the best known general-purpose Lisp dialects are common lisp and scheme))
((LISP . 4) (IS . 1) (THE . 2) (SECOND-OLDEST . 1) (HIGH-LEVEL . 1)
 (PROGRAMMING . 1) (LANGUAGE . 1) (IN . 1) (WIDESPREAD . 1) (USE . 1)
 (TODAY . 2) (HAS . 1) (CHANGED . 1) (SINCE . 1) (ITS . 2) (EARLY . 1)
 (DAYS . 1) (AND . 2) (MANY . 1) (DIALECTS . 2) (HAVE . 1) (EXISTED . 1)
 (OVER . 1) (HISTORY . 1) (BEST . 1) (KNOWN . 1) (GENERAL-PURPOSE . 1)
 (ARE . 1) (COMMON . 1) (SCHEME . 1))
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36590 / 20320 / 4218
Регистрация: 12.02.2012
Сообщений: 33,621
Записей в блоге: 13
30.04.2018, 11:13 5
HomeLisp:

Lisp
1
2
3
4
5
6
7
8
9
10
(defun task (lst-words)
  (let* ((ul (setof lst-words))
         (ln (length lst-words)))
    (mapcar (lambda (w) (list w (- ln (length (remove w lst-words))))) ul)))
 
==> TASK
 
(task '("жив" "и" "я" "привет" "тебе" "привет"))
 
==> (("жив" 1) ("и" 1) ("я" 1) ("тебе" 1) ("привет" 2))
Если читать строку, то вот:

Lisp
1
2
3
4
5
6
7
8
9
10
11
(defun task (text)
  (let* ((lst-words (strWords text))
         (ul (setof lst-words))
         (ln (length lst-words)))
    (mapcar (lambda (w) (list w (- ln (length (remove w lst-words))))) ul)))
 
==> TASK
 
(task "Ты жива еще моя старушка? Жив и я привет тебе привет")
 
==> (("Ты" 1) ("жива" 1) ("еще" 1) ("моя" 1) ("старушка?" 1) ("Жив" 1) ("и" 1) ("я" 1) ("тебе" 1) ("привет" 2))
2
$ su
1605 / 520 / 97
Регистрация: 18.11.2010
Сообщений: 2,807
Записей в блоге: 2
06.05.2018, 17:09 6
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(require '[clojure.string :as str])
 
(defn word-count-in-seq [word words-seq]
  (count (filter #(= % word) words-seq))
  )
 
(defn word-freq [sentence]
  (let [splitted (str/split sentence #"\s")
        freq-seq (atom [])]
       (doseq [word splitted]
              (if (= (count (filter #(= word (get % 0)) @freq-seq)) 0)
                  (swap! freq-seq conj [word (word-count-in-seq word splitted)])
                  ))
       @freq-seq
       ))
 
(word-freq "Привет че как? Привет")
;[["Привет" 2] ["че" 1] ["как?" 1]]
На быструю руку на кложурке.
https://repl.it/repls/TurquoiseRepentantDecagons
2
06.05.2018, 17:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2018, 17:09
Помогаю со студенческими работами здесь

Набор символов в формате списка разбить в список чисел и список слов
Всем добрый день! Мне дали задачу написать программу, в которую вводится набор символов в...

Дан список слов различной длины. составить программу упорядочения слов по их длине
Всем добрый вечер, помогите пожалуйста решить задачу по Delphi, что-то не получается) Условие: ...

Вывести на экран список слов с указанием их длины
1. Задан текст, состоящий из отдельных слов. Длина текста - не более 80 символов. Исходный текст...

программа которая берет список и создает список другой из этого же списка + тот же список без последнего элемента
надо написать программу которая берет список и создает список другой из этого же списка + тот же...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru