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

Реализовать функцию поиска в списке кортежей

06.05.2014, 15:49. Показов 2774. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать функцию Lookup My :: Eq a=> a->b->[(a,b)]->b, которая берёт значение xa типа а, значение xb типа b, и список кортежей. Функция должна найти кортеж, в котором первый элемент равен xa, и вернуть второй элемент этого кортежа. Если такого кортежа не нашлось, функция должна вернуть xb.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.05.2014, 15:49
Ответы с готовыми решениями:

Реализовать функцию поиска элемента в односвязном списке
function SearchInList (BegList: PElement; i: integer; var q: PElement): PElement; begin Result:=nil; q:= BegList; while...

Реализовать функцию поиска элемента Е в односвязном списке L
Нужно написать такую вот прогу "Реализуй функцию поиска элемента Е в односвязном списке L" Заранее благодарен.

Реализовать функцию поиска по заданному полю в списке объектов типа "Собачий питомник"
Имеются сведения о собачьих питомниках: порода собак, фамилия владельца. Количество питомников неизвестно. В каждом питомнике имеется...

5
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
06.05.2014, 16:49
Прежде всего замечу, что "Lookup My" недопустимое имя функции. Правильно lookupMy (без пробела и со строчной буквы).

Haskell
1
2
3
4
5
6
7
8
9
lookupMy :: Eq a => a -> b-> [(a,b)] -> b
lookupMy _ xb [] = xb
lookupMy xa xb (c:cs) | (fst c)==xa = snd c
                      | otherwise = lookupMy xa xb cs
                      
Main> lookupMy 3 4 [(1,2),(3,7),(6,9)]
7
Main> lookupMy 3 4 [(1,2),(2,7),(6,9)]
4
Добавлено через 7 минут
Другой вариант (без рекурсии):

Haskell
1
2
3
lookupMy' :: Eq a => a -> b-> [(a,b)] -> b
lookupMy' xa xb c = if (length r > 0) then snd $ head r else xb
                    where r= filter (\ x -> (fst x) == xa) c
2
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 19
06.05.2014, 17:55  [ТС]
Огромное спасибо!!!!
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,205
Записей в блоге: 24
06.05.2014, 18:49
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

короче:
Haskell
1
lookupMy xa = foldr (\(a,b) r -> if a == xa then b else r)
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
06.05.2014, 20:39
Mysterious Light, да, красиво!
0
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 19
07.05.2014, 08:20  [ТС]
Большое спасибо за помощь!!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.05.2014, 08:20
Помогаю со студенческими работами здесь

Реализовать функцию добавления в односвязном списке
Здравствуйте! Нужна помощь ! Неправильно работает функция добавления нового пассажира (возможно и сортировка!) Не вдупляю в чём дело. ...

Подскажите, как добавить функцию поиска элемента в линейном двусвязном списке?
Пока вставила функцию поиска для односвязного struct Elem { int data; // данные Elem * next, *prev; }; class List { ...

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

Реализовать функцию выбранной даты рождения в выпадающем списке
Всем доброго времени суток! Скажите, как реализовать функцию выбранной даты рождения в выпадающем списке? <?php $monthOptions =...

Реализовать шаблонную функцию поиска компонентов
Привет всем. Такой вопрос: Есть класс Object и класс Component. У класса Component могут быть наследники RigidBodyComponent,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru