このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1322562648/93
#  [1] 授業単元:楽しいC(ポインタ配列)  
#  [2]引数vc の指すint 型配列に対して,その(pos + 1) 
#  番目からn 個の要素(vc[pos], vc[pos+1], …のn 個) 
#  の値を0 にする関数 
#  void reset_n(int *vc, int pos, int n) 
#  を作成せよ 。 
#  例.ary[] : 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 
#     ary[n1] からn2 個の要素を0 にします。 
#     n1 を入力してください:2 
#     n2 を入力してください:4 
#     指定された要素を0 にしました。 
#    
#    

'整数ならびに対して,m番目からn個の要素を0にする'(_整数のならび,_m番目,_n個,_m番目からn個の要素を0にしたならび) :-
        'm番目から'(_m番目,_n個,_整数ならび,L0,R),
        'n個の要素を'(L0,_n個の要素,R,_m番目からn個の要素を0にしたならび),
        '0にする'(L2).

'm番目から'(_m番目,_n個,_整数ならび,L0,R) :-
        length([_|L0],_m番目),
        length(L1,_n個).
        append(L0,L1,R,_整数ならび),!.

'n個の要素を'(L0,_n個の要素,R,_m番目からn個の要素を0にしたならび) :-
        length(_n個の要素,_n個),
        append(L0,_n個の要素,R,_m番目からn個の要素を0にしたならび).

'0にする'(L2) :-
        all(L2,0).