このディレクトリの索引

# 出典 :: C/C++の宿題を片付けます 113代目 (レス番号146) # [1] 授業単元: C++ # [2] 問題文(含コード&リンク): # キーボードから100点満点のテストの点数を入力し(-1で終了)、 # 10点ごとの人数を int型の配列 count[11]に数えるプログラムを # 作成せよ。 テストは100点満点とし、それ以外の入力はエラーとし # て無視する。ただし -1 はデータの終了を表すものとする。 点数 # の入力が終了したら、度数分布を画面に出力して終了する。出力は # 人数と,*(アスタリスク)によるグラフとする。 t904 :- write('点数(整数)をカンマで区切って入力してください : '), get_line(Line), split(Line,[','],_成績ならび), findall(U,(member(V,_成績ならび),'10点ごとの丸め'(V,U)),_丸めた成績ならび), 分布ならびを得る(_丸めた成績ならび,[0,10,20,30,40,50,60,70,80,90,100],[[],[],[],[],[],[],[],[],[],[],[]],L1), アスタリスクによる棒グラフ([0,10,20,30,40,50,60,70,80,90,100],L1). '10点ごとの丸め'(_点数,_10点ごとに丸めた点数) :- _10点ごとに丸めた点数 is (_点数 // 10) * 10. 分布ならびを得る([],_,L,L) :- !. 分布ならびを得る([V|R],L1,L2,L3) :- list_nth(N,L1,V), list_nth(N,L2,W), 要素番号によるならびの置換(N,[*|W],L2,L4), 分布ならびを得る(R,L1,L4,L3). アスタリスクによる棒グラフ([A|R1],[L|R2]) :- atom_chars(B,L), write_formatted('%3d %t\n',[A,B]), アスタリスクによる棒グラフ(R1,R2).