0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 2
1

Описать рекурсивную функцию для заполнения одномерного массива

14.05.2014, 01:19. Показов 679. Ответов 1
Метки нет (Все метки)

описать рекурсионно функцию для заполнения одномерного массива целыми случайными числами без повторений.
prolog 5.2
ребята выручайте!!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2014, 01:19
Ответы с готовыми решениями:

Реализовать функцию заполнения заданного одномерного массива случайными числами
Подскажите, пожалуйста! Мне надо написати функцию, которая: - заполняет одномерный массив...

Описать функцию max (X) для определения максимального элемента вектора X, введя вспомогательную рекурсивную функцию
Всем доброго времени суток. Помогите пожалуйста разобраться в условиях задачи, а то что-то у...

Написать рекурсивную функцию поиска минимального элемента одномерного вещественного массива
Написать рекурсивную функцию поиска минимального элемента одномерного вещественного массива. ...

Описать рекурсивную функцию поиска индекса минимального элемента массива.
Описать рекурсивную функцию поиска индекса минимального элемента массива. program tyu; var...

1
Модератор
Эксперт функциональных языков программированияЭксперт Python
33097 / 18443 / 3879
Регистрация: 12.02.2012
Сообщений: 31,003
Записей в блоге: 12
20.05.2014, 18:13 2
Не претендую на красоту, но в TP работает:

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
domains
int=integer
intl=int*
 
predicates
arr(int,int,intl)
uarr(int,int,intl)
member(int,intl)
setof(intl,intl)
take(intl,int,intl)
 
clauses
 
%% Взять N элементов с начала списка
 
take(_,0,[]) :- !.
take([H|T],N,[H|Q]) :- N1=N-1, take(T,N1,Q). 
 
%% входит ли число в список
 
member(X,[X|_]) :- !.
member(X,[_|T]) :- member(X,T).
 
%% Удалить повторения (построить множество) из списка
 
setof([],[]) :- !.
setof([H|T],Q) :- member(H,T),setof(T,Q).
setof([H|T],[H|Q]) :- not(member(H,T)), setof(T,Q).
 
%% Заполнить список длины N случайными числами из диапазона
%% [1,M] (с возможными повторениями)
 
arr(M,1,[X]) :- random(Y), X=M*Y, !.
arr(M,N,[X|T]) :- N1=N-1, arr(M,N1,T), random(Y), X=M*Y.
 
%% Решение задачи
 
uarr(M,N,[]) :- N>M, fail.
uarr(M,N,X)  :- N2=N*2, arr(M,N2,Z), setof(Z,Q), take(Q,N,X).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2014, 18:13
Помогаю со студенческими работами здесь

Описать рекурсивную функцию для вычисления
Описать рекурсивную функцию для вычисления

Описать рекурсивную функцию для вычисления
Ребят помогите написать вот такую программку через рекурсию. Описать рекурсивную функцию для...

Напишите программу, которая определяет минимальное значение элементов одномерного массива, используя рекурсивную функцию
Напишите программу, которая определяет минимальное значение элементов одномерного массива,...

Описать логическую (возможно рекурсивную) функцию, проверяющую является ли симметричной часть массива
Описать логическую (возможно рекурсивную) функцию, проверяющую является ли симметричной часть...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru