Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
 Аватар для Loka13
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 17

Написать программу, исключающую в исходном тексте из каждого слова его окончание по словарю

19.12.2012, 16:00. Показов 1693. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста с задачей:
Написать программу, исключающую в исходном тексте из каждого слова его окончание по словарю. Словарь окончаний представлять списком строк
Использовать функционалы
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.12.2012, 16:00
Ответы с готовыми решениями:

Заменить окончание «ый» каждого слова в заданном тексте на «ого». Вывести измененный текст и количество проведенных зам
Var str: string; i : integer; newStr : string; countReplacement : integer; j : integer; ogo : string; iy :...

Есть текст. Требуется(мне) написать программу для вывода каждого слова в столбик и рядом, чтоб было написано, сколько раз упоминается в тексте
Мои очередные жалкие попытки написать код: #include <sstream> #include <iostream> #include <string> #include <fstream> ...

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

7
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
19.12.2012, 19:38
Вот решение для HomeLisp (в Common Lisp работать не будет!)

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
;; Вспом. функция - взять n символов с конца строки
 
(defun strRight (stri n)
  (let ((l (strLen stri))) (strMid stri (- l n -1))))
 
==> strRight
 
(strRight "fffg" 3)
 
==> "ffg"
 
;; Решение:
 
(defun task (wdlist dict)
   (mapcar #'(lambda (wd)
             (let ((res wd))
               (dolist (w dict res)
                 (when (= 0 (strCmp (strRight wd (strLen w)) w)) 
                       (return (strMid wd 1 (- (strLen wd) (strLen w))))))))
           wdlist))
 
==> task
 
(task '("Кошка" "Мышка" "Бабка" "Дед" "Внучка" "Жучка") '("ка" "ко"))
 
==> ("Кош" "Мыш" "Баб" "Дед" "Внуч" "Жуч")
0
 Аватар для _sg
4707 / 4402 / 380
Регистрация: 12.05.2012
Сообщений: 3,101
19.12.2012, 19:51
Lisp
1
2
3
4
5
(defun strRight (stri n)
  (last stri n))
 
> (strRight '(1 2 3 4 5) 3)
(3 4 5)
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38168 / 21103 / 4307
Регистрация: 12.02.2012
Сообщений: 34,692
Записей в блоге: 14
19.12.2012, 19:56
Всё так. Но в HomeLisp-е строки - это не списки символов...
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,765
19.12.2012, 21:16
Цитата Сообщение от Catstail Посмотреть сообщение
Всё так. Но в HomeLisp-е строки - это не списки символов...
Как и в CL
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
(defun str-right (str n)
  (let* ((str-len (length  str))
         (str-pos (- str-len n))
         (result  (make-string n)))
    (loop
      for i from str-pos
      for j below n
      do (setf (char result j) (char str i)))
    result))
 
(str-right "abcde" 3)
; "cde"
0
 Аватар для _sg
4707 / 4402 / 380
Регистрация: 12.05.2012
Сообщений: 3,101
19.12.2012, 23:33
Lisp
1
2
3
4
5
(defun string-right (s n)
  (subseq s (- (length s) n)))
 
> (string-right "abcde" 3)
"cde"
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
20.12.2012, 07:35
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(defmacro aif (test then &optional else)
  `(let ((it ,test))
     (if it ,then ,else)))
 
(defun suffixp (string suffix)
  (aif (search suffix string :from-end t)
      (= (length string) (+ it (length suffix)))))
 
(defun partial (fun arg &rest args)
  #'(lambda (&rest more-args)
      (apply fun arg (append args more-args))))
 
(defun drop-suffixes (words suffixes)
  (mapcar #'(lambda (word)
              (aif (find-if (partial #'suffixp word) suffixes)
                  (subseq word 0 (search it word :from-end t))
                word))
          words))
1
 Аватар для _sg
4707 / 4402 / 380
Регистрация: 12.05.2012
Сообщений: 3,101
20.12.2012, 10:44
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
(defun string-right (s n)
  (subseq s (- (length s) n)))
 
(defun drop-suffix (s v &aux (m (length s)) (n (length (car v))))
  (cond ((null v) s)
        ((string= (string-right s n) (car v)) (subseq s 0 (- m n)))
        ((drop-suffix s (cdr v)))))
 
(defun drop-suffixes (w v &aux (v> (sort v #'string>)))
  (mapcar #'(lambda (s) (drop-suffix s v>)) w)) 
 
> (drop-suffixes '("nokia") '("kia" "okia"))
("n")
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.12.2012, 10:44
Помогаю со студенческими работами здесь

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

Написать программу, которая выделяет любим способом в тексте слова палиндромы (слова, которые читаются одинаково справа налево и слева направо)
Вот примеры - "level, radar, dewed, civic, solos..." и строка - "When I get on a high level in programming?"

Заменить окончание ING каждого слова, встречающегося в заданном предложении, на ED
Заменить окончание ING каждого слова, встречающегося в заданном предложении, на ED.

Arity Prolog. Замените окончание ING каждого слова, встречающегося в заданном предложении на ED
Замените окончание ING каждого слова, встречающегося в заданном предложении на ED. именно окончание, а не все. Помогите решить ...

Строка: Найти в исходном тексте все слова, которые состоят из трех символов...
Написать программу, которая из входного текста, находит слова которые состоят из трех символов. Если такие есть, то они выводятся на экран...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru