Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 19

Функция поиска элементов из списка

08.05.2014, 12:09. Показов 3335. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите,пожалуйста,решить!
Написать функцию filterMapOrMy::[a->Bool]->[a]->[a], которая выбирает только те элементы из списка, на которых хотя бы одна функция из списка функций возвращает TRUE. Например, filterMapOrMy [even,>5] [1..10] = [2,4,6,7,8,9,10]
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2014, 12:09
Ответы с готовыми решениями:

Функция, возвращающая список состоящий из элементов данного списка + n последних элементов списка
определить функцию принимающую в качестве параметров список символов и число и возвращающую в качестве результата конкатенцию исходного...

Функция поиска частей списка с рекурсией
Приветствую, форумчане. Прошу опытных гуру Лиспа помочь с решением задания: Нужно написать функцию, которая принимает два аргумента,...

Функция поиска третьего по величине элемента списка
Здравствуйте! Знаю как найти максимальный элемент списка, но в силу своего недавнего знакомства с LISPом, не получается переделать данную...

4
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
08.05.2014, 14:50
Может, не самое уклюжее решение:

Haskell
1
2
3
4
5
6
7
8
9
10
setOf :: Eq a => [a] -> [a]
setOf [] = []
setOf (c:cs) = c : (setOf (filter (\ q -> q /= c) cs))
 
filterMapOrMy :: Eq a => [a->Bool]->[a]->[a]
filterMapOrMy flst lst = setOf $ map fst $ filter (\ (z,q) -> q) $ concatMap (\ x -> map (\ f -> (x,f x)) flst) lst
 
Main> filterMapOrMy [even,(>5)] [1,2,3,4,5,6,7]
 
[2,4,6,7]
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,205
Записей в блоге: 24
08.05.2014, 18:07
Haskell
1
filterMapOr ps = filter $ \x -> or (fmap ($x) ps)
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
08.05.2014, 19:20
Да, когда писал свое решение, почувствовал, что порядок обработки списков должен быть другим. Переделал:

Haskell
1
2
filterMapOrMy' :: Eq a => [a->Bool]->[a]->[a]
filterMapOrMy' f = filter (\ xx -> or (map (\ ff -> ff xx) f))
Суть та же, что у Mysterious Light, но, конечно, не так лаконично.
0
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 19
15.05.2014, 07:27  [ТС]
Большое спасибо!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.05.2014, 07:27
Помогаю со студенческими работами здесь

Функция поиска файлов, и вывод списка найденных (использую FindFirstFile, FindNextFile)
Друзья, возникла следующая сложность, написал функцию для поиска файлов(.txt) в текущей директории, название файлов нейзвестно, поэтому, с...

Сделать функции рекурсивными (Одна функция поиска в списке а другая удаления узла из списка)
здраствуйте помогите пожалуйста сделать две функции рекурсивными я ломал голову но так и не вышло :wall: одна функция поиска в списке...

Функция формирует список, содержащий суммы элементов первых i элементов исходного списка
Здравствуйте! Так вышло, что в сжатые сроки нужны решения некоторых задач. Решал бы сам, если бы не был занят проектом. Как уже поняли с...

Функция поиска количества максимальных элементов.
Всем добрый вечер. В С++ начинающий, поэтому прошу вашей помощи. Вот собственно в чем заключается моя просьба: 3. Напишите функцию...

Функция поиска последовательности элементов в массиве
Здравствуйте! Мне нужно написать функцию для поиска конкретной последовательности целочисленных чиселв массиве. Как я понял, нужно...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru