このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 132代目 #608 # [1] 授業単元:C言語とアルゴリズム # [2] 問題文(含コード&リンク):http://ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10219.txt # [課題1-1] 線形探索 #  キーボードから1から30までの整数を入力し、配列 a に対して入力値の線形探索を行い、見つかった # 結果をすべて表示するプログラムを作成しなさい.ただし、配列 a は1から30までの乱数が100個入って # いるとする.また、入力の前に配列 a の内容を10個ずつ区切って表示しなさい.(疑似乱数を使用すること) # # [実行結果] # 配列 a の内容はつぎの通りです. # 26 12 24 24 28 6 11 24 4 17 ←疑似乱数なので左の例とは同じくならない。 # 15 19 11 16 29 28 20 22 5 19 # 1 8 5 25 5 13 4 4 30 7 # 16 26 19 9 20 16 15 30 9 24 # 16 24 13 27 9 11 25 28 3 29 # 16 3 6 20 27 11 2 1 14 2 # 8 30 28 26 8 17 12 23 16 21 # 16 2 14 28 28 22 9 23 20 11 # 21 5 14 27 25 10 7 27 11 21 # 29 18 20 26 14 28 12 25 21 28 # 1〜30までの整数を入力して下さい. # 17 # a[9] は 17 と同じ値です. # a[65] は 17 と同じ値です. 'キーボードから1から30までの整数を入力し、ならび a に対して入力値の線形探索を行い、見つかった結果をすべて表示するプログラムを作成しなさい.ただし、ならび a は1から30までの乱数が100個入っているとする.また、入力の前にならび a の内容を10個ずつ区切って表示しなさい.(疑似乱数を使用すること)' :- 'ならび a は1から30までの乱数が100個入っているとする.また、入力の前にならび a の内容を10個ずつ区切って表示しなさい.(疑似乱数を使用すること)'(_a), 'キーボードから1から30までの整数を入力し、ならび a に対して入力値の線形探索を行い、見つかった結果をすべて表示する'(_a). 'ならび a は1から30までの乱数が100個入っているとする.また、入力の前にならび a の内容を10個ずつ区切って表示しなさい.(疑似乱数を使用すること)'(_a) :- 'ならび a は1から30までの乱数が100個入っているとする.'(_a), 'また、入力の前にならび a の内容を10個ずつ区切って表示する.'(_a). 'ならび a は1から30までの乱数が100個入っているとする.'(_a) :- findall(_乱数値,( between(1,100,_), _乱数値 is random(30)+1),_a). 'また、入力の前にならび a の内容を10個ずつ区切って表示する.'(_a) :- write('ならび a の内容はつぎの通りです.\n'), 'ならび a の内容を10個ずつ区切って表示する.'(_a). 'ならび a の内容を10個ずつ区切って表示する.'(_a) :- forall( 'ならび a の内容を10個ずつ区切って'(_a,[_1,_2,_3,_4,_5,_6,_7,_8,_9,_10]), writef('%w %w %w %w %w %w %w %w %w %w\n',[_1,_2,_3,_4,_5,_6,_7,_8,_9,_10])). 'ならび a の内容を10個ずつ区切って'(_a,_10個区切り) :- findnsols(10,N,member(N,_a),_10個区切り). 'キーボードから1から30までの整数を入力し、ならび a に対して入力値の線形探索を行い、見つかった結果をすべて表示する'(_a) :- 'キーボードから1から30までの整数を入力し、'(_整数), 'ならび a に対して入力値の線形探索を行い、見つかった結果をすべて表示する'(_a,_整数). 'キーボードから1から30までの整数を入力し、'(_整数) :- 整数を得る('1から30までの整数 : ',between(1,30,_整数),_整数). 整数を得る(_催促,_評価,_整数) :- 催促後に行入力(_催促,_行), 整数検査(_行,_整数), 整数評価(_評価). 催促後に行入力(_催促,_行) :- write(_催促), 行入力(_行). 行入力(_行) :- read_line_to_codes(current_input,_文字コードならび), atom_codes(_行,_文字コードならび). 整数検査(_行,_整数) :- atom_number(_行,_整数), integer(_整数),!. 整数評価(_評価) :- call(_評価). 'ならび a に対して入力値の線形探索を行い、見つかった結果をすべて表示する'(_a,_整数) :- forall( 'ならび a に対して入力値の線形探索を行い、'(_a,_整数,L1,L2), '見つかった結果をすべて表示する'(L1,_整数,L2)). 'ならび a に対して入力値の線形探索を行い、'(_a,_整数,L1,L2) :- append([L1,[_整数],L2],_a). '見つかった結果をすべて表示する'(L1,_整数,L2) :- length([_|L1],_要素位置), writef('aの%w番目の要素 は %w と同じ値です。\t%w,[%w],%w\n',[_要素位置,_整数,L1,_整数,L2]), 'ここでは、aは配列ではなく、ならびとしているから、0オリジンの配列の変位ではなく、1オリジンのならび要素位置を採用している。'. 'ここでは、aは配列ではなく、ならびとしているから、0オリジンの配列の変位ではなく、1オリジンのならび要素位置を採用している。'.