Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
марина201
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 3
1

Предикат, заменяющий два подряд идущих одинаковых элемента одним

17.11.2010, 17:26. Просмотров 1731. Ответов 2
Метки нет (Все метки)

помогите решить задачу "Создайте предикат, заменяющий в исходном списке два подряд
идущих одинаковых элемента одним."
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2010, 17:26
Ответы с готовыми решениями:

Prolog - Предикат, заменяющий два подряд идущих одинаковых элемента одним
Ребята нужна помощь, работаю в Visual Prolog v.5.2. Видел ранее созданные темы,...

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

Два подряд идущих элемента списка
Помогите написать предикат, которой для заданного числа и заданного числового...

Определение, имеются ли в числовом списке два подряд идущих нулевых элемента
Определение, имеются ли в числовом списке два подряд идущих нулевых элемента

Поиск идущих подряд одинаковых символов.
Написал программу поиска идущих подряд одинаковых символов, но оно не совсем...

2
rrrFer
Заблокирован
17.11.2010, 18:10 2
марина201, не соблюдены рекомендации по созданию тем. Читайте правила внимательнее:
2.3. Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на ваш вопрос ответят.
кроме того, желательно попробовать решить проблему самостоятельно и приложить код, даже если он не работает. (тогда помогут быстрее)

Добавлено через 18 минут
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
domains     
    element=integer
    list=element*
predicates
    input(list)
    output(list) 
    shift(list,list)              /*сдвиг вправо*/
    getlast(list,element,element) /*получение последнего элемента*/ 
    deletelast(list,list)         /*удаление последнего элемента*/
    parLen(list)                  /*четность длины списка*/
    chArPL(list,integer)          /*проверка на арифметическую прогрессию списка*/  
    getLenList(list,integer)      /*определение длины списка*/
    chpel(list,list)                /*замена двух идущих подряд символов - одним */
 
    %start
clauses            
 
    input([X|T]):-
        write("ввести элемент - y/n: "),
        readchar(YN),nl,
        YN<>'n',    
        write("Введи элемент: "),
        readInt(X),nl, 
        input(T).  
    input([]):-
        write("ввод закончен"),nl. 
 
    output([]).
    output([H|T]):- 
        write(H),write(" "),
        output(T).  
 
    shift([],[]).
    shift([H|T],[E|L]):-
        getlast([H|T],_,E),
        deletelast([H|T],L).
    getlast([],E,E).
    getlast([H|T],_,E):-
        getlast(T,H,E).  
    deletelast([_|[]],[]).
    deletelast([H|T1],[H|T2]):-
        deletelast(T1,T2).  
   
    parLen([]).
    parLen([_,_|Tail]):-parLen(Tail). 
    
    chArPL([_|[]],_).
    chArPL([H,T|TT],N):-
        N=T-H,
        chArPL([T|TT],N).
              
    getLenList([],N):-N=0.
    getLenList([_|L],N):-
        getLenList(L,N1),
        N=N1+1.
        
    chpel([],_).
    chpel([Hi|[Hii|Tii]],[Ho|To]):-
        Hi=Hii, Ho=Hi, chpel([Hi|Tii],[Ho|To]).
    chpel([Hi|Ti],[Hi|To]):-
        chpel(Ti,To).
    
        
goal
       L=[1,1,2,3,4,4,5,6,6],    
       output(L),nl,
       chpel(L,L1),
       output(L1),nl.
лишнее сама удалишь
0
Alenka007
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 21
10.03.2015, 14:23 3
А вы не могли бы подсказать,как пользователю самому вводить числа,не после goal,а в самом запросе?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2015, 14:23

Предикат, заменяющий в исходном списке первое вхождение заданного значения другим
Доброго времени суток! Я не силен в Прологе (даже очень не силен). Решите...

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru