Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Prolog] Работа с массивом, Ввод, сортировка, вывод 
V
    Опции темы
Newss
Дата 3.10.2008, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!
Помогите, пожалуйста, доделать программку. Задание такое: с клавиатуры вводится список целых чисел, среди которых есть и положительные, и отрицательные. Нужно сначала вывести все отрицательные числа, а затем все остальные. Вот что я сделал:
 
Код

domains
 number=integer
 list=integer*
predicates
 print(list).
 print2(list).

clauses
 print([X|L]):-X<0,write(X),nl,print(L).
 print([X|L]):-X>0,print(L).
 print([]).
 print2([H|T]):-H>0,write(H),nl,print2(T).
 print2([H|T]):-H<0,print2(T).
 print2([]).
goal
 clearwindow,
 print([-2,3,-7,23,-19,-5,6,2]),
 print2([-2,3,-7,23,-19,-5,6,2]).
 
Сейчас у меня массив задан заранее, а нужно вводить его с клавиатуры. Причем при выводе числа должны идти в том же порядке, что и при вводе, а не наоборот. То есть, если брать в пример тот массив, который задан сейчас, то ответ должен быть такой: -2, -7, -19, -5, 3, 23, 6, 2. Как я понимаю, надо будет введенный массив потом перевернуть, вот только как это сделать, не соображу. Подскажите, пожалуйста. 
PM MAIL   Вверх
Sergio02
Дата 3.10.2008, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


СИпециалист
*


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

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



Получи smile 
Код

domains
 list=integer*
predicates
 read(list,integer).
 print(list).
 print2(list).
 pr(integer).
clauses
 read([],0).
 read([X|L],N):-NN=N-1,readint(X),read(L,NN).
 print([]).
 print([X|L]):-X<0,write(X),nl,print(L).
 print([X|L]):-X>=0,print(L).
 print2([]).
 print2([H|T]):-H>=0,write(H),nl,print2(T).
 print2([H|T]):-H<0,print2(T).
 pr(C):-read(X,C),nl,print(X),print2(X).    
goal
 clearwindow,pr(6).



Цитата(Newss @  3.10.2008,  11:41 Найти цитируемый пост)
Как я понимаю, надо будет введенный массив потом перевернуть, вот только как это сделать, не соображу. 

Зачем?


Это сообщение отредактировал(а) Sergio02 - 3.10.2008, 23:00
PM MAIL   Вверх
Newss
Дата 4.10.2008, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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


 




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


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

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