Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 33

Проверить слово на палиндром и почти палиндром

24.09.2014, 00:32. Показов 2503. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно проверить слово на палиндром и почти палиндром.
например:
КАЗАК - палиндром
МЕЧОМ - почти палиндром
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.09.2014, 00:32
Ответы с готовыми решениями:

Проверить слово на палиндром и почти палиндром
Нужно проверить слово на палиндром и почти палиндром. например: КАЗАК - палиндром МЕЧОМ - почти палиндром так же нужно...

Ввести из файла текст и проверить каждое слово на палиндром
Написать программу, которая вводит с файла текст и проверяет каждое введенное слово, или оно палиндромом? Найденные палиндромы выводятся на...

22. Палиндром (слово)
Определить, является ли введеное слово палиндромом - одинаково читающимся как слева направо, так и справа налево: шалаш.

5
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
24.09.2014, 01:39
Цикл по i от нуля до целой части от длины n пополам, проверять, совпадает ли i-й символ с n-i-1-м и считать число различий; если различий слишком много - вернуть из цикла "неа", а если нормально дошли до конца цикла - вернуть "ага". Это же детская задача, школьники такие решают.

А палиндром - ещё проще, перевернуть строку (одна функция) и сравнить с исходной (вторая функция).

Ещё вопросы есть?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38162 / 21097 / 4306
Регистрация: 12.02.2012
Сообщений: 34,685
Записей в блоге: 14
24.09.2014, 12:11
HomeLisp:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(defun isPal (w &optional (k 0))
  (cond ((<= (strLen w) 1) 
         (cond ((zerop k) "палиндром")
               ((= k 1)   "почти палиндром")
               (t "не палиндром")))
        ((= 2 (strLen w)) (if (eq (strLeft w 1) (strRight w 1)) (isPal "" k) (isPal "" (+ k 1))))
        ((eq (strLeft w 1) (strRight w 1)) (isPal (strMid w 2 (- (strLen w) 2)) k))
        (t (isPal (strMid w 2 (- (strLen w) 2)) (+ k 1)))))  
  
==> isPal
 
(isPal "КАВКАЗ")
 
==> "не палиндром"
 
(isPal "КАЗАК")
 
==> "палиндром"
 
(isPal "МЕЧОМ")
 
==> "почти палиндром"
2
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
24.09.2014, 20:36
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
;;racket-lang.org
(define PRECESION 2)
 
(define (is-pal word)
  
  (define (foo lst-wrd lst-wrd-rev counter)
    (if (null? lst-wrd)
        counter
        (foo (cdr lst-wrd)
             (cdr lst-wrd-rev)
             (if (eqv? (car lst-wrd) (car lst-wrd-rev))
                 counter
                 (add1 counter)))))
  
  (if (> (foo (string->list word)
              (reverse (string->list word))
              0)
         PRECESION)
      "неа"
      "ага"))
 
(map is-pal '("КАЗАК" "МЕЧОМ" "МЕШОК" "ВЫШАК"))
;'("ага" "ага" "неа" "неа")
2
0 / 0 / 0
Регистрация: 20.10.2010
Сообщений: 33
25.09.2014, 16:09  [ТС]
всем большое спасибо.
0
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
23.10.2014, 17:22
Язык Factor. Функция, возвращающая число, тем большее, чем сильнее слово отличается от палиндрома.

Lisp
: palindrome-distance ( str -- n ) halves reverse swap dup length [ = [ 1 - ] when ] 2reduce ;
 
{ "kazak" "me4om" "arozaupalanalapuazora" "cyberforum" } [ palindrome-distance ] each
 
--- Data stack:
0
1
0
5
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2014, 17:22
Помогаю со студенческими работами здесь

Проверить строчку на палиндром
Необходимо проверить строчку на палиндром. Для тех кто не знает: палиндром - слово (словосочетание, предложение) которое читается одинаково...

Проверить строку на палиндром
Доброго времени суток.Подскажите, пожалуйста,почему функция не работает. bool defstr(char* str,int size) { int length =...

Проверить число на палиндром!
Добрый день! Есть программа но нужно исправить одну проблему, программа проверяет число на палиндром! Проверяет правильно...

самое длинное слово-палиндром.
Дана строка. найти в ней самое длинное слово-палиндром.

Ввести строку и проверить на палиндром
Ввести строку, состоящую из одного слова, проверить будет ли оно читаться одинаково справа налево и слева направо (т.е. является ли оно...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru