Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для rina_san
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 23

Задача на нахождение слов в строке

19.12.2013, 15:52. Показов 1138. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана задача: найти и вывести все слова. заканчивающиеся на ту же букву, на которую начинается первое слово.
Если не сложно, то с комментариями, поскольку я очень плохо разбираюсь в прологе.
Вот мой вариант решения:
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PREDICATES
pr(S,C).
posled(S,S,C).
 
GOAL
write("Stroka: "),
READln(S),
pr(S,B),write("1; ",B,"\n"),
posled(S,SL,B).
CLAUSES
pr(N,B):-frontchar(N,B,_).
posled(N,SL,PB):-fronttoken(N,SL,OS),
str_len(SL,KOL),
M=KOL-1,
frontstr(M,SL,_,HV),
frontchar(HV,PB,_),
write("A: ",SL,"B: ",PB),
posled(OS,SL,PB),!.
posled(".",".",_).
но программа выводит только первый символ. Буду очень признательна за помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.12.2013, 15:52
Ответы с готовыми решениями:

Нахождение слов-полиндромов в строке
Уважаемые специалисты Prolog! Спасите пожалуйста! Следущая задача: Удалить все символы, не входящие ни в один из полиндромов в...

Нахождение всех слов в строке
Здравствуйте, что надо сделать чтобы код зашёл во вторую строчку: Код: If Not .Execute Then Beep 'если искомое слово не имеется,...

Нахождение количества слов в строке
Задается строка S состоящая из латинских букв и пробелов. Найти количество слов в этой строке.

2
 Аватар для rina_san
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 23
21.12.2013, 15:30  [ТС]
Хотя бы подскажите. что не так в моей программе. Пожалуйста.
0
 Аватар для rina_san
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 23
02.06.2014, 18:31  [ТС]
Выкладываю рабочий код. Вдруг у кого то еще будет такая же проблема:
Prolog
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
31
32
33
34
domains
s=string
c=char
predicates
gt(s,s,s,s).
p(s,c).
pr(s,c).
rev(s,s).
clauses
gt(S,W,E,T):-
frontchar(S,C,S1),
NOT(C=' '),
str_char(SS,C),
concat(W,SS,R),
gt(S1,R,E,T),!.
gt(S,W,W,R):-
frontchar(S,_,R).
gt(S,W,W,S).
pr(S,B):-frontchar(S,B,_),
write("1: ",B,"\n").
rev("","").
rev(SL1,ST):-frontstr(1,SL1,B,OS2),
rev(OS2,ST1),concat(ST1,B,ST).
p("",_):-!.
p(S,C):-gt(S,"",W,SS),
rev(W,ST),
frontchar(ST,C,_),
p(SS,C),write(W,"\n"),!;
gt(S,"",_,SS),
p(SS,C),!.
goal
write("String: "),
readln(N),
pr(N,B),p(N,B).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.06.2014, 18:31
Помогаю со студенческими работами здесь

Нахождение слов в строке функцией strtok
Нахождение (печатанье) слов в строке функцией strtok. Программа работает, но в самый последний момент вылетает. Что исправить? #include...

Задача на нахождение максимума кратного 5 в каждой строке двумерного массива
Здравствуйте! Помогите, пожалуйста с задачей. В двумерном массиве для каждой строки нужно найти максимум кратный 5 и вывести его. Не могу...

Задача о строке. Удаление дубликатов слов
В строке символов определить количество повторений каждого слова и удалить дубликаты слов.Слова отделяются пробелами. помогите...

В строке, вводимой пользователем, определить сколько слов в строке, составить новое предложение из чётных слов
В строке вводимой пользователем, определить сколько слов в строке, составить новое предложение из чётных слов.

Задача: сколько в символьной строке слов, имеющие в первом слове средний символ?
Помогите решить на java skript : сколько в символьной строке слов, имеющие в первом слове средний символ(символ который находится в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru