このディレクトリの索引

# 出典 :: #290 # [1] 授業単元:C言語基礎実習 # [2] 問題文(含コード&リンク):三つの数値を入力して昇順に並べ替えるプログラムを作成しなさい。 # ただし、並べ替えの処理は関数「void sort(int *n1,int *n2,int *n3)」 # というものを作って処理すること # # 三つの数値を入力して昇順に並べ替える(_1,_2,_3) :- 三つの数値を入力して(_数値_1,_数値_2,_数値_3), 昇順に並べ替える(_数値_1,_数値_2,_数値_3,_1,_2,_3),!. 三つの数値を入力して(_数値_1,_数値_2,_数値_3) :- 数値を入力して(_数値_1), 数値を入力して(_数値_2), 数値を入力して(_数値_3). 昇順に並べ替える(_数値_1,_数値_2,_数値_3,_1,_2,_3) :- 昇順に(_1,_2,_3), 並べ替える(_数値_1,_数値_2,_数値_3,_1,_2,_3). 昇順に(_1,_2,_3) :- freeze(_1,(_1 =< _2,_2 =< _3)). 並べ替える(_1,_2,_3,_1,_2,_3). 並べ替える(_1,_2,_3,_1,_3,_2). 並べ替える(_1,_2,_3,_2,_1,_3). 並べ替える(_1,_2,_3,_2,_3,_1). 並べ替える(_1,_2,_3,_3,_1,_2). 並べ替える(_1,_2,_3,_3,_2,_1). 数値を入力して(_数値) :- write('数を入力してください : '), 行入力(_行), 数値入力診断(_行,_数値),!. 数値を入力して(_数値) :- 数値を入力して(_数値). 行入力(_行) :- read_line_to_codes(current_input,_コードならび), atom_codes(_行,_コードならび). 数値入力診断(_行,_数値) :- catch(read_term_from_atom(_行,_数値,[]),E,fail), 数値である(_数値),!. 数値入力診断(_行,_数値) :- writef('入力された %w から適切な数が得られませんでした\n再入力をお願いします\n',[_行]),fail. 数値である(_ rdiv _) :- !. 数値である(_数値) :- number(_数値).