このディレクトリの索引
#  出題場所 :: http://toro.2ch.net/test/read.cgi/tech/1381909900/885
#  夜分遅くに申し訳ございません… 
#  本日9時提出の課題を今になって気づいたのですが、私の頭ではさっぱりわからないのでお助け下さい… 
#   
#  [1]プログラミングC 
#  [2] 問題文(含コード&リンク): 
#  問1:以下の実行結果に示すような、3つの実数を入力した後、最大値と最小値の差を求めるプログラムを作成せよ。 
#  ※例 
#  3つの整数を入力してください。 
#  na=12 
#  nb=65 
#  nc=44 
#  65と12の差は53です。 
#   
#  問2:以下の文字列(programming_jissyu)が配列に格納されているとする。 
#  この文字列を任意の位置で2つ分割して表示するプログラムを作成せよ。 
#  ※例 
#  難文字目で分割しますか:11 
#  文字列の前半 
#  programming 
#  文字列の後半 
#  _jissyu 
#  

'問2:以下の文字列(programming_jissyu)が配列に格納されているとする。 
この文字列を任意の位置で2つに分割して表示するプログラムを作成せよ。 
※例 
何文字目で分割しますか:11 
文字列の前半 
programming 
文字列の後半 
_jissyu' :-
        _文字列 = programming_jissyu,
        文字列を任意の位置で2つに分割して表示する(_文字列).

文字列を任意の位置で2つに分割して表示する(_文字列) :-
        任意の位置で(_任意の位置),
        sub_atom(_文字列,0,_任意の位置,_,_文字列の前半),
        sub_atom(_文字列,_任意の位置,_,0,_文字列の後半),
        writef('文字列の前半\n%t\n文字列の後半\n%t\n',[_文字列の前半,_文字列の後半]).

任意の位置で(_文字列,_任意の位置) :-
        atom_length(_文字列,_文字列の長さ),
        整数を得る(何文字目で分割しますか,_任意の位置 < _文字列の長さ,_任意の位置).