このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1349527750/837
#  単元 C言語配列 
#  問題1 Float型配列にマクロで指定した個数の乱数(randを使う)を格納して 
#  その平均値と最大値を出力するプログラムを作成せよ。 
#   
#  問題2 上記の問題で結果を小さい順で表記せよ。 
#  環境 Linux gcc C言語 
#  期限 今週日曜日まで 
#  よろしくお願いします 
# 
# 

'ならびに指定した個数の浮動小数点数の乱数(randを使う)を格納して、小さい順で表記せよ。'(_指定した個数) :-
        'ならびに指定した個数の浮動小数点数の乱数(randを使う)を格納して'(_指定した個数,_ならび),
        整列(_ならび,_整列したならび),
        writef('%t\n',[_整列したならび]).

'ならびに指定した個数の浮動小数点数の乱数(randを使う)を格納して'(_指定した個数,_ならび) :-
        findall(_浮動小数点数,(
                    between(1,_指定した個数,_),
                    _浮動小数点数 is (-1 ^ (random(2)+1)) * random(10000) / (random(10000) + 1)),
                _ならび).

整列([],[]).
整列([A|R],L) :-
        分割(A,R,L1,L2),
        整列(L1,L1_2),
        整列(L2,L2_2),
        append(L1_2,[A|L2_2],L).

分割(_,[],[],[]).
分割(A,[B|R1],[B|R2],R3) :-
        B @=< A,
        分割(A,R1,R2,R3).
分割(A,[B|R1],R2,[B|R3]) :-
        A @< B,
        分割(A,R1,R2,R3).