Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 8
1

Списки: буквы оставить без изменения, а цифры умножить на 2 (Visual Prolog)

18.12.2011, 15:28. Показов 2438. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
добрый день всем!
ребят, помогите пожалуйста осуществить задачу:
Список состоит их букв и цифр, буквы оставить без изменения, а цифры умножить на 2.

думаю здесь нужно два списка: первый - список с буквами и цифрами (0-9), а второй - только цифры и произвести сравнение из первого списка сравнивать со вторым если елемент там есть, значит цифра, следовательно умножаем на 2.
Но в грамматике я не сильна, помогите пожалуйста реализовать это!!!
буду очень признательна!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2011, 15:28
Ответы с готовыми решениями:

Если (x+y+z) > 10, то умножить на 10 наименьшее из x, y, z. Иначе значения x, y, z оставить без изменения
Помогите пожалуйста с кодом Даны три числа x, y, z. Если (x+y+z) > 10, то умножить на 10...

Дан вещественный вектор. Все его элементы, большие 0, умножить на 10, остальные оставить без изменения
Дан вещественный вектор. Все его элементы, больше 0 - умножить на 10, остальные оставить без...

Функция: в двузначном числе поменять цифры местами, а остальные числа оставить без изменения
Разработать функцию F(x), которая в двузначном числе меняет цифры местами, а остальные числа...

Гласные буквы оставить без изменения, а согласные заменить друг на друга по заданной схеме
Помогите пожалуйста решить задачу, очень нужно, заранее спасибо! Написать программу шифрования...

5
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 8
22.12.2011, 11:44  [ТС] 2
Срочно, пожалуйста кто-нибудь, помогите поправить код до приличного состояния!!!!!! Он что-то явно делает, но кажется не то

Prolog
1
2
3
4
5
6
7
8
9
10
domains
list=char*
predicates
spisok(list,list)
clauses
spisok([_],[]):-!.
spisok([H|T],[H1|T1]):-H>0,H1=H*2,
spisok(T,T1).
goal
spisok([3,'k'],New),write(New).
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
22.12.2011, 17:02 3
Для Vip5.2 вижу только решение
Prolog
1
2
3
4
5
6
7
8
9
10
11
domains
item=c(char);i(integer)
list=item*
predicates
spisok(list,list)
clauses
spisok([],[]):-!.
spisok([i(H)|T],[i(H1)|T1]):-H1=H*2,spisok(T,T1),!.
spisok([H|T],[H|T1]):-spisok(T,T1).
goal
spisok([i(3),c('k')],New),write(New).
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 8
22.12.2011, 18:15  [ТС] 4
спасибо за помощь, все работает!)) очень благодарна!
0
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
22.12.2011, 18:35 5
Или еще так можно
Prolog
1
2
3
4
5
6
7
8
9
10
domains
list=string*
predicates
spisok(list,list)
clauses
spisok([],[]):-!.
spisok([H|T],[H1|T1]):-str_int(H,I),!,I1=I*2,str_int(H1,I1),spisok(T,T1).
spisok([H|T],[H|T1]):-spisok(T,T1).
goal
spisok(["3","k"],New),write(New).
0
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 8
22.12.2011, 20:08  [ТС] 6
спасибо Вам за помощь!!!!
0
22.12.2011, 20:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2011, 20:08
Помогаю со студенческими работами здесь

Удвоить все буквы, стоящие в первой половине слова, а во второй оставить без изменения
Введите слово с клавиатуры. Слово состоит из четного количества букв. Необходимо удвоить все буквы,...

Функция: в трехзначном числе поменять местами первую с последней цифрой, а остальные цифры оставить без изменения
Разработать функцию f(x), которая в трехзначном числе меняет местами первую с последней цифрой, а...

Из 20 чисел только четные умножить на 2, а нечетные оставить без изменений
Знаю как сделать просто умножить четное на 2 но как сделать чтобы и 20 чисел введёных с клавиатуры...

Списки, Visual Prolog
добрый вечер! помогите пожалуйста выполнить вот какое задание: Дано название групп, солист,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru