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

Поиск количества неодинаковых чисел в массиве

01.10.2014, 19:26. Показов 1119. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В коде решается не одна задача. Для подсчета чисел использую предикат other_length. Явно делаю что-то не так. Самому разобраться уже не получается, окончательно запутался. Рассчитываю на вашу помощь.

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
domains
file = infile
int_list = integer*
r=real
 
predicates
sum(int_list, r)
avg(int_list, r)
length(int_list, r)
load_from_file(int_list)
dble(int_list, int_list, real)
other_length(int_list, integer)
run
clauses
sum([],0).
sum([H|T], S):-
sum(T, S_T), /*S_T-summa elementov hvosta */
S=S_T+ H.
length([], 0).
length([_|T], L):-
length(T, L_T), 
L = L_T + 1.
avg([],0):-!.
avg(L,A):-
sum(L,S),
length(L,K),
A=S/K.
load_from_file([]):- eof(infile), !.
load_from_file([H|T]):- not(eof(infile)),
readint(H), load_from_file(T).
dble([],[],_):-!.
dble([H|T],L,N):- H>N, H1=H*H, dble(T,L1,N), L=[H1|L1].
dble([H|T],L,N):- N>=H,dble(T,L1,N), L=[H|L1].
other_length([], 0):-!.
other_length([H|T],M):- H<>H, other_length(T,M_T), M=M_T+1.
other_length([H|T],M):- H=H, other_length(T,M_T), M=M_T.
run:- openread(infile, "input.txt"),
readdevice(infile),
load_from_file(L),
closefile(infile),
readdevice(keyboard),
write("Sodergimoe faila:"), nl,
write(L), nl,
avg(L, X),
write("Srednee arifmeticheskoe:"), nl,
write(X), nl,
dble(L, L1, X),
write("chisla bolshie srednego arifmeticheskogo v kvadrate:"), nl,
write(L1), nl,
other_length(L, Y),
write(Y), nl.
goal
run.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.10.2014, 19:26
Ответы с готовыми решениями:

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

Поиск наибольшего количества идущих подряд отрицательных чисел в массиве
Казалось бы элементарная задача. Дан массив из 30 случайных чисел в диапазоне от -100 до 100. Его я создаю так: $r = New-Object Random ...

Подсчет суммы чисел, состоящих из неодинаковых чисел
Задача:Найти сумму всех элементов, состоящих только из разных цифр. Пример: 32 122 343 166 -2 521; результат: 32+521+(-2)=551. Мой код:...

1
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
02.10.2014, 03:35
Лучший ответ Сообщение было отмечено Spartacus как решение

Решение

Prolog
1
2
3
4
5
6
member(X,[X|_]):-!.
member(X,[_|T]):-member(X,T).
 
other_length([], 0).
other_length([H|T],M):- member(H,T), !, other_length(T,M).
other_length([_|T],M):- other_length(T,M_T), M=M_T+1.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.10.2014, 03:35
Помогаю со студенческими работами здесь

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

Поиск в массиве количества элементов
Дан массив, посчитать кол-во эл-ов и вывести в виде: -5(2), где &quot;-5&quot; элемент, а 2 кол-во таких эл-ов. 6(1) 3(4) P.S. помогите,...

Генерация 5ти случайных неодинаковых чисел
Подскажите, как сделать чтобы в диапазоне от 1 до 36 было выбрано 5 случайных чисел, только так чтобы они не повторилиь #include...

Поиск нечетных элементов в массиве и их количества
Добрый день, прошу помочь с задачей: Два двумерных массива, содержащие соответственно 3х5 и 4х8 вещественных элементов. Ввести и...

Поиск одинаковых элементов в массиве и их количества
кто знает, как найти одинаковые элементы в массиве и их количество, подкиньте какие-нибудь идеи, пожалуйста


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru