Поиск:

Ответ в темуСоздание новой темы Создание опроса
> swi prolog,пара задач, нужна помощь 
:(
    Опции темы
stan90
Дата 28.10.2011, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 12.11.2009

Репутация: нет
Всего: нет



подскажите пожалуйста:
1).как сформировать новую строку на основе исходной, взяв из нее каждый 3й символ.
2). Сгенерировать бинарное дерево произвольного вида с заданным количеством 
элементов.
Подсказка: для генерации случайных значений использовать ф-ю random(X).
второе делаю вот так,но не работает,пишет no.
Код

tree_insert(X, nil,tr(X, nil, nil)).  
      
tree_insert(X,tr(X,L,R),tr(X,L,R)):-!.  
      
tree_insert(X,tr(K,L,R),tr(K,L1,R)):- 
        X<K,!,  
        tree_insert(X,L,L1).  
         
tree_insert(X,tr(K,L,R),tr(K,L,R1)):- 
        tree_insert(X,R,R1).  

tree_gen(0,nil):-!. 
tree_gen (N,T):- 
       random(100,X1),  
       N1 is N-1, 
       tree_gen (N1,T1),  
       tree_insert(X1,T1,T).



заранее спасибо.
PM MAIL   Вверх
Фантом
Дата 29.10.2011, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 6
Всего: 49



Первая задача делается так (несколько топорно, конечно, можно было бы написать и более универсальный вариант, с выборкой произвольного символа):
Код

threel([],[]).
threel([_],[]).
threel([_,_],[]).
threel([_|[_|[C|A]]],[C|B]):-threel(A,B).

threes(A,B):-name(A,Al),threel(Al,Bl),name(B,Bl).

threes, в принципе, нужен только для "интерфейса" - чтобы переделывать строковые атомы в строки-списки и обратно.

А вот со вторым, честно говоря, трудно понять, что Вы хотели сделать в той или иной строчке, соответственно, трудно сказать, что там неправильно.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.0741 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.