Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите разобрать список на 3 подсписка 
:(
    Опции темы
romkoll
Дата 10.6.2010, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите с задачей.
Есть список: [a, 1, !, b, 2, @, c, 3, #, d, 4, $, ....]
Нужно получить 3 списка: [a, b, c, d, ...], [1, 2, 3, 4, ...], [!, @, #, $, ...]

Преподаватель сказал, что решается 5ю строками. Сам никак додумать не могу.

Есть в мыслях один алгоритм: голову списка добавлять в список 1, потом от того, что осталось, голову - в список 2, и потом от того, что осталось, голову - в список 3. И так повторять пока список не закончится. Преподаватель грит, что можно так, но есть алгоритм еще проще.
PM MAIL   Вверх
romkoll
Дата 10.6.2010, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



На SWI так
Код

p([],[],[],[]).
p([H|Tail],[H|A],B,C):-char_type(H,alpha),!,p(Tail,A,B,C).
p([H|Tail],A,[H|B],C):-number(H),!,p(Tail,A,B,C).
p([H|Tail],A,B,[H|C]):-p(Tail,A,B,C).


?- p([a, 1, !, b, 2, @, c, 3, #, d, 4, $],A,B,C).
A = [a, b, c, d],
B = [1, 2, 3, 4],
C = [!, @, #, $].
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

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

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


 




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


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

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