105 / 104 / 59
Регистрация: 21.10.2013
Сообщений: 346
1

Вырезать из списка подсписок от позиции А до позиции Б

17.11.2013, 13:31. Показов 938. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите пожалуйста с решением.
Задача следующая: Дан список. Вырезать из списка подсписок от позиции А до позиции Б. Список неопределен.
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2013, 13:31
Ответы с готовыми решениями:

Удалить из исходного списка элементы, начиная с позиции K до позиции N
Удалить из исходного списка элементы, начиная с позиции K до позиции N

Вырезать из списка подсписок
Здравствуйте. Имеется следующее задание: Я пытался сделать что-то в таком духе: del_el(_, _, ,...

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

Количество строк, которые одновременно имеют цифру на позиции n1 и букву на позиции n2
У Поликарпа возникла новая идея для занимательной статистики. Поэтому он просит Вас написать...

3
793 / 597 / 156
Регистрация: 07.10.2013
Сообщений: 1,325
17.11.2013, 15:37 2
Цитата Сообщение от Kenworth Посмотреть сообщение
Задача следующая: Дан список. Вырезать из списка подсписок от позиции А до позиции Б. Список неопределен.
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cut_sub(List, Pos1, Pos2, SubList) :-
    cut_sub(List, Pos1, Pos2, SubList, 1).
cut_sub([Head|Teil], Pos1, Pos2, [Head|Rest], Pos0) :-
    Pos0 >= Pos1,
    Pos0 =< Pos2,
    Pos3 is Pos0 + 1,
    !,
    cut_sub(Teil, Pos1, Pos2, Rest, Pos3).
cut_sub([_|Teil], Pos1, Pos2, Rest, Pos0) :-
    Pos0 =< Pos2,
    Pos3 is Pos0 + 1,
    !,
    cut_sub(Teil, Pos1, Pos2, Rest, Pos3).
cut_sub(_, _, _, [], _).
1
105 / 104 / 59
Регистрация: 21.10.2013
Сообщений: 346
17.11.2013, 16:00  [ТС] 3
Благодарю за помощь.
а можешь подсказать как запустить его, чтоб из списка [1,2,3,4,5,6,7,8,9] остался список [1,6,7,8,9]?

JIP:-cut_sub([1,2,3,4,5,6,7,8,9], 0, 5, [], 9).
Yes
0
793 / 597 / 156
Регистрация: 07.10.2013
Сообщений: 1,325
19.11.2013, 10:52 4
Цитата Сообщение от Kenworth Посмотреть сообщение
как запустить его, чтоб из списка [1,2,3,4,5,6,7,8,9] остался список [1,6,7,8,9]?
?- cut_sub([1,2,3,4,5,6,7,8,9], 6, 9, L).
L = [6, 7, 8, 9].
А почему [1,6,7,8,9], опечатка? Хотя можно и этот
?- L = [1,2,3,4,5,6,7,8,9], cut_sub(L, 1, 1, L1), cut_sub(L, 6, 9, L2), append(L1, L2, L3).
L = [1, 2, 3, 4, 5, 6, 7, 8, 9],
L1 = [1],
L2 = [6, 7, 8, 9],
L3 = [1, 6, 7, 8, 9].
1
19.11.2013, 10:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2013, 10:52
Помогаю со студенческими работами здесь

Перенос подстроки с указанной позиции предложения начиная с другой позиции
Нужна помощь Нужно перенести определенное слово с одной позиции на другую. Я написал такой код...

Найти сумму одного из трёх элементов ряда с позиции m до позиции N
допишите программу, которая высчитывает сумму одного из трёх элементов ряда с позиции m до позиции...

Вычислить сумму ряда с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно.
9. Вычислить сумму ряда (-1)в степени 3n/3n! с позиции N до позиции M. Функцию вычисления суммы...

Вывести на экран различные пути, по которым фишка может пройти поле от позиции 1 до позиции n
Фишка может двигаться по полю длины n только вперед. Длина хода фишки не более k. Вывести на экран...


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

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

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