このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 164代目 #961 # 【質問テンプレ】 # [1] 授業単元:c言語 # [2] 問題文(含コード&リンク):右に示すように1234567890を繰り返し表示するプログラムを作成せよ。なお、表示する数字は読み込まれた整数値の個数とする。 # 右に示されている図 # 整数の入力してください:25 # 1234567890123456789012345 # '1234567890を繰り返し表示するプログラムを作成せよ。なお、表示する数字は読み込まれた整数値の個数とする。' :- '表示する数字は読み込まれた整数値の個数とする。'(_個数), '1234567890を繰り返し表示する'(_個数). '表示する数字は読み込まれた整数値の個数とする。'(_個数) :- 整数を得る(整数,true,_個数). '1234567890を繰り返し表示する'(_個数) :- '1234567890を繰り返し'(_個数,_1234567890のならび), 表示する(_1234567890のならび). '1234567890を繰り返し'(_個数,_1234567890のならび) :- findnsols(_個数,N,数字(1,N),_1234567890のならび). 表示する(_1234567890のならび) :- atomic_list_concat(_1234567890のならび,_数字列), writef('%w\n',[_数字列]). 数字(M,_数字) :- 数字連鎖(M,N), 数字(M,N,_数字). 数字(_数字,_,_数字). 数字(_,N,_数字) :- 数字(N,_数字). 数字連鎖(1,2). 数字連鎖(2,3). 数字連鎖(3,4). 数字連鎖(4,5). 数字連鎖(5,6). 数字連鎖(6,7). 数字連鎖(7,8). 数字連鎖(8,9). 数字連鎖(9,0). 数字連鎖(0,1). 整数を得る(_催促文,_事後実行ゴール,_整数) :- '催促文の表示と行入力'(_催促文,_行), 整数入力検査(_行,_整数), call(_事後実行ゴール). '催促文の表示と行入力'(_催促文,_行) :- writef('%wを入力してください : ',[_催促文]), 行入力(_行). 整数入力検査(_行,_整数) :- 行を整数に変換(_行,_整数),!. 整数入力検査(_行,_) :- writef('入力された%wからは、整数を得られません\n',[_行]), fail. 行を整数に変換(_行,_整数) :- atom_number(_行,_整数), integer(_整数). 行入力(_行) :- read_line_to_codes(current_input,Codes), atom_codes(_行,Codes).