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

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

27.04.2010, 19:27. Показов 8769. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошу помочь с заданием по Турбо Прологу.
Мне кажется, что для людей которые понимают и разбираются в Прологе это задание будет не сложное!!
Но для меня, это задание не совсем понятное.
Прошу очень помочь!!
Вот задание:
Ввести с клавиатуры список целых чисел. Найти сумму чисел, которые входят в список по одному разу.
Вот и все задание.
у меня трудность в том, что б реализовать нахождение суммы чисел которые не повторяются.

Очень прошу помочь!!!!
буду очень признательна!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2010, 19:27
Ответы с готовыми решениями:

Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят в список L1 но не входят в список L2
Составить программу, которая формирует список L, включив в него по одному разу элементы, которые...

Создать список L, включив в него по одному разу элементы, которые входят в список L1, но не входят в список L2
Описать процедуру, которая формирует список L, включив в него по одному разу элементы, которые ...

Включить в список по одному разу элементы, которые входят в один из списков L1 и L2, но в то же время не входят в другой
Составить программу,которая формирует список L,включив в него по одному разу элементы,которые...

Сформировать список l, включив в него по одному разу элементы, которые входят. В один из списков l1 или l2. Но не входят в другой
Добрый вечер! Собственно суть задачи такова: Я не совсем поняла списки, вы не могли бы помочь...

8
Заблокирован
27.04.2010, 21:18 2
Завтра напишу с утра
1
0 / 0 / 0
Регистрация: 27.04.2010
Сообщений: 6
27.04.2010, 21:21  [ТС] 3
Вау!!!
Спасибо!!
Я просто счастлива!!!
Буду ждать ответа!!!
Очень благодарна!!
0
Заблокирован
28.04.2010, 10:07 4
Вот программа(там,правда,список не с клавиатуры вводится и не уверен,что рационально)
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
domains
i=integer
il=i*
predicates
kol(i,il,i)
sum(il,il,i)
nondeterm s1(il,i)
clauses
kol(_,[],0):-!.
kol(El,[El|T],K):-kol(El,T,K1),!,K=K1+1.
kol(El,[_|T],K):-kol(El,T,K).
sum([],_,0):-!.
sum([X|T],L,S):-kol(X,L,1),!,sum(T,L,S1),S=S1+X.
sum([_|T],L,S):-sum(T,L,S).
s1(L,R):-sum(L,L,R).
goal
s1([4,5,-8,54,4,4,-8,39,-3,4,2,4],S).
Добавлено через 4 минуты
Вот такой предикат вводит список с клавиатуры:
Prolog
1
2
vvod(0,[]):-!.
vvod(N,[X|T]):-N1=N-1,write("Vvedite X"),nl,readint(X),vvod(N1,T).
N-число элементов списка,его в цели можно с клавиатуры ввести. Я программирую на Visual Prolog 5.2,а Turbo я не знаю
1
0 / 0 / 0
Регистрация: 27.04.2010
Сообщений: 6
28.04.2010, 10:08  [ТС] 5
Все работает!!!
Спасибо большое!!!
Все выводит рационально!!!

Очень признательна!!!
0
Заблокирован
28.04.2010, 10:13 6
Не уверен,что оптимально организовал суммирование именно НЕПОВТОРЯЮЩИХСЯ элементов,я не так давно изучаю Пролог.Вместо предиката kol разумнее использовать стандартный предикат member(X,L),проверяющий принадлежность элемента X списку L.Марина,если не секрет,какой у Вас ВУЗ?
0
0 / 0 / 0
Регистрация: 27.04.2010
Сообщений: 6
28.04.2010, 10:18  [ТС] 7
Да мне и на Visual Prolog 5.2 тоже подходит, так даже лучше!!!

А вот подскажи, ввод с клавиатуры в
goal
s1([4,5,-8,54,4,4,-8,39,-3,4,2,4],S).
нужно записать???

Добавлено через 3 минуты
Марина,если не секрет,какой у Вас ВУЗ?

Национальный технический университет
А почему Вам интересно, какой у меня ВУЗ??
0
Заблокирован
28.04.2010, 11:09 8
Если список вводить с клавиатуры,то пишем так:
goal
write("Введите число элементов списка N"),nl,vvod(N,L),s1(L,S).
0
0 / 0 / 0
Регистрация: 27.04.2010
Сообщений: 6
28.04.2010, 11:17  [ТС] 9
Почему то на vvod(N,L),s1(L,S) ругается ((

Добавлено через 4 минуты
Наверное его в предикате нужно объявить..да??
vvod(N,L)
0
28.04.2010, 11:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2010, 11:17
Помогаю со студенческими работами здесь

Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2.
Ребят я запутался окончательно.Пытался сам разобраться,но увы только все хуже стало. задание:...

Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2. Ошибка
Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба...

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

Сформировать список L включив в него по одному разу элементы, которые входят в один из списков L1 и L2, но в то же время не входит во второй из них
Добрый вечер! Помогите, пожалуйста, начинающей программистке решить следующую задачу: Разработать...


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

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