1 / 1 / 4
Регистрация: 22.05.2012
Сообщений: 37
1

Вычеркнуть из слова Y те буквы, которые используются в слове Х

24.05.2014, 11:33. Показов 445. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Имеется прога на паскале, нужно переделать код под пролог. Условие: составьте программу, вычеркивающую из слова Y те буквы, которые используются в слове Х.
Код на паскале:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uses crt;
var x,y:string;
    i:byte;
begin
clrscr;
writeln('Введите слово Х');
readln(x);
writeln('Введите слово Y');
readln(y);
for i:=length(y) downto 1 do
if pos(y[i],x)>0 then delete(y,i,1);
if y='' then write('Все буквы из слова Y удалены')
else write(y);
readln
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2014, 11:33
Ответы с готовыми решениями:

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

Вычеркнуть из слова Y те согласные буквы, которые используются в слове X
Всем доброго времени суток :) Очень прошу мне помочь в составлении следующей программы Составить...

Вычеркнуть из слова А те буквы, которые встречаются в слове Б
Вечер добрый, не могу сообразить что не так с кодом и почему программа работает лишь частично...

Вычеркнуть из слова Х те буквы, которые встречаются в слове Z
var x: String; y: String; a,i,k,j:Integer; begin readln(x); readln(y); ...

2
Фрилансер
3704 / 2076 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
24.05.2014, 14:41 2
Переделать - не вариант. У Пролога совсем другой подход, надо писать заново.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
35613 / 19507 / 4078
Регистрация: 12.02.2012
Сообщений: 32,547
Записей в блоге: 13
24.05.2014, 21:26 3
Неуклюже, но работает:

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
domains
cl=char*
 
predicates 
 
str2lst(string,cl) %% из строки список символов
lst2str(cl,string) %% из списка символов строку
lstdiff(cl,cl,cl)    %% разность списков
inlist(char,cl)     %% символ входит в список
 
task(string,string,string) 
 
clauses
 
str2lst("",[]).
str2lst(S,[H|T]) :- frontchar(S,H,ST), str2lst(ST,T).
 
lst2str([],"").
lst2str([H|T],S) :- lst2str(T,Q), str_char(Z,H), concat(Z,Q,S).
 
inlist(_,[]) :- fail.
inlist(H,[H|_]).
inlist(H,[_|T]) :- inlist(H,T).
 
lstdiff([],_,[]).
lstdiff(N,[],N).
lstdiff([H|S],N,[H|Q]) :- lstdiff(S,N,Q), not(inlist(H,N)).
lstdiff([H|S],N,Q) :- lstdiff(S,N,Q), inlist(H,N). 
 
task(S1,S2,S3) :- str2lst(S1,L1), str2lst(S2,L2), lstdiff(L1,L2,L3), lst2str(L3,S3).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2014, 21:26
Помогаю со студенческими работами здесь

Вычеркнуть из слова X те буквы которые встречаются в слове Z
Вычеркнуть из слова X те буквы которые встречаются в слове Z

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

Как это? Вычеркнуть из слова Х те буквы, которые встречаются в слове Z.
3. Вычеркните из слова Х те буквы, которые встречаются в слове Z.

Составьте программу, вычеркивающую из слова Y те буквы, которые используются в слове Х
Составьте программу, вычеркивающую из слова Y те буквы, которые используются в слове Х.


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

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

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