На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> prolog , списки
    Нужно доделать задачу на списки (arity prolog)
    Условие, уменьшить каждый элемент списка на 1.

    ExpandedWrap disabled
      run:-
      write('Вводите элементы списка... '), nl,
      read_list(List), nl,
      write('Результат ввода... '), write_list(List),nl,
      dec_list(List,L), nl,
      write('Уменьшенный список... '),  write_list(L),nl.
       
      /*Ввод списка с клаивиатуры*/
      read_list([H|T]):- read(H), H\=0, !, read_list(T).
      read_list([]).
       
      /*Вывод списка на экран*/
      write_list([]).
      write_list([Head|Tail]):- write(Head), write(' '), write_list(Tail).
      /*Уменьшение каждого элемента списка на 1*/
      dec_list([],[]).
      dec_list([Head|Tail],[K|L]):- K is Head-1, dec_list(Tail,L).


    Все работает как надо, но задали доп. условие если список пуст, то вывести сообщение что он пуст, как реализовать?
    1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0142 ]   [ 14 queries used ]   [ Generated: 17.05.24, 11:25 GMT ]