0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 9
1

Вставка элемента на заданную позицию в список, TurboProlog

22.12.2015, 14:35. Показов 1645. Ответов 4
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста,нужно вставить элемент на заданную позицию в список, вот мой код:
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
domains
list=integer*
predicates
main(list,integer,integer,list)
cons(list,list,list)
ins(integer,list,integer,integer,list)
 
clauses
cons([],L,L).
cons([H|T],L,[H|Z]):-cons(T,L,Z).
ins(N1,[H|T],N,A,[H|LST]):-N1<>N,ins(N1,T,N,A,LST).
ins(N1,[H|T],N,A,[A|LST]):-N1=N1+1,!,ins(N1,T,N,A,LST).
 
ins(_,[],_,_,[]).
main(X,N,A,LST):-ins(0,X,N,A,LST).
0

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

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2015, 14:35
Ответы с готовыми решениями:

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

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента
Добавить в класс &quot;Односвязный список&quot; следующие функции: вставка элемента в заданную позицию,...

Вставка в список в заданную позицию
Была задача: 1. Реализовать функцию (insert-at k l v), которая вставляет в список l элемент v в...

Вставка элемента в заданную позицию вектора
Помогите пожалуйста сделать задание Вставка элемента в заданную позицию вектора в MATLAB и...

4
Модератор
Эксперт функциональных языков программированияЭксперт Python
29249 / 16000 / 3183
Регистрация: 12.02.2012
Сообщений: 26,346
Записей в блоге: 5
22.12.2015, 16:52 2
Лучший ответ Сообщение было отмечено Kristine как решение

Решение

Что-то сложновато...

Prolog
1
2
3
4
5
6
7
8
9
10
domains
int=integer
intl=int*
 
predicates
ins_in_pos(intl,int,int,intl)
 
clauses
ins_in_pos(L,V,0,[V|L]).
ins_in_pos([H|T],V,N,[H|R]) :- N1=N-1, ins_in_pos(T,V,N1,R).
1
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 2
22.12.2015, 17:00 3
Что значит "задняя позиция" списка?

Ну вот вариант. Вызывать так: append([Список, к которому добавлять], [Что добавить], Результат).
Prolog
1
2
append([],L,L).
append([X|L1],L2,[X|L3]):-append(L1,L2,L3).
При вызове:
Prolog
1
append([1,2], [3], Res).
В Res будет следующий список: [1, 2, 3].
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
29249 / 16000 / 3183
Регистрация: 12.02.2012
Сообщений: 26,346
Записей в блоге: 5
22.12.2015, 17:55 4
Цитата Сообщение от Grogzon Посмотреть сообщение
Что значит "задняя позиция" списка?
- я думаю, это значит следующее:

есть список [1,2,3,4,5,6,7]; вставляем в 3-ю позицию число -1 (счет с нуля), получаем [1,2,3,-1,4,5,6,7]
1
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 9
22.12.2015, 19:30  [ТС] 5
Спасибо большое, очень помогли Тему можно закрыть)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2015, 19:30

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

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

Рекурсия и списки: вставка заданного элемента в список на N-ую позицию
Написать программу вставки заданного элемента в список на N-ую позицию

Вставка текста в RichTextBox в заданную позицию
Всем доброго времени суток! В ричтекстбоксе находиться текст. Нужно вставить свой текст из...

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


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

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

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