0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 5
|
|
1 | |
Массивы в Haskell23.12.2012, 21:52. Показов 4430. Ответов 11
Метки нет (Все метки)
У меня возникла такая проблемма. Нужно на Haskell, написать программу, которая находит нужный массив и удаляет его. Прошу помочь. Зараннее спасибо.
0
|
23.12.2012, 21:52 | |
Ответы с готовыми решениями:
11
Место ФП и Haskell в компьютерной индустрии (Для чего он нужен, этот Haskell?) HASKELL Conduit Haskell Баловство с Haskell |
78 / 64 / 5
Регистрация: 25.03.2012
Сообщений: 71
|
|
23.12.2012, 23:42 | 2 |
Можно более развернуто - что на входе, что на выходе, с примерами.
0
|
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 5
|
|
24.12.2012, 07:32 [ТС] | 3 |
На входе массив который состоит из подмассивов. В этом массиве надо найти заданый подмассив, если он есть удалить его и сформировать массив без удаленного подмассива. Если нет заданного подмассива, выдать существующий массив.
0
|
78 / 64 / 5
Регистрация: 25.03.2012
Сообщений: 71
|
|||||||||||
24.12.2012, 13:40 | 4 | ||||||||||
Если ваш массив суть список и вам нужно удалить одно вхождение подсписка в списке - звучит так, как будто вам подойдет функция delete из модуля Data.List:
как оно реализовано в стандартной библиотеке Добавлено через 1 минуту если подсписки не уникальны и вам нужно удалить все вхождения подсписка в список:
0
|
Модератор
|
||||||
24.12.2012, 19:33 | 5 | |||||
Если ТС называет массивами списки Haskell, то вот простое решение:
1
|
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 5
|
|
24.12.2012, 21:56 [ТС] | 7 |
Спасибо за ответы, но я несовсем разбрался в ваших кодах.
У меня такой массив n = array (1,3) [(1,s1),(2,s2),(3,s)], мне надо из этого массива удалить любой элемент. При этом его надо сразу найти в этом массиве и получить новый массив уже без этого элемента. Например: задано s2 надо определить в этом массиве где находится этот элемент и удалить его, и вернуть новый массив уже без этого элемента. А если вдруг этого элемента нет в массиве вернуть прежний массив.
0
|
78 / 64 / 5
Регистрация: 25.03.2012
Сообщений: 71
|
|
24.12.2012, 21:58 | 8 |
Думаю можно отобразить в список, уже из списка удалить обычным delete, а там пересчитать индексы и применить listArray.
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||||||||
25.12.2012, 05:42 | 9 | ||||||||||
Сообщение было отмечено как решение
Решение
Если под массивами подразумеваются именно массивы, то я рекомендую использовать пакет vector, который считается "улучшенной" версией базового array (с некоторыми оговорками).
Вот решение для vector:
3
|
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 5
|
|
25.12.2012, 23:04 [ТС] | 10 |
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
26.12.2012, 02:32 | 11 | |||||
Smiht, ну тебе уже calabi-yau и Catstail решения для списков написали, а преобразовать массив в список и обратно не так уж и сложно.
0
|
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 5
|
|
26.12.2012, 20:46 [ТС] | 12 |
Большое спасибо всем за помощь.
0
|
26.12.2012, 20:46 | |
26.12.2012, 20:46 | |
Помогаю со студенческими работами здесь
12
Деление в Haskell Задачки по Haskell Типы в Haskell Selenium+haskell Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |