いろんな言語で宿題ス ..
[2ch|▼Menu]
347:デフォルトの名無しさん
10/01/19 10:11:17
>>343
使用言語:J

a=:i.4 4
a
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15

,./a     各行を「,.」で連結すると転置になる
0 4 8 12
1 5 9 13
2 6 10 14
3 7 11 15

|:a      「|:」は組み込みの転置演算子
0 4 8 12
1 5 9 13
2 6 10 14
3 7 11 15

348:デフォルトの名無しさん
10/01/19 12:17:19
>>341
使用言語:J

f=:monad define
'p q d'=.y
a=./:~~.,(p*i.d)+/q*i.d
b=.}.(d>:a)#a
smoutput b
smoutput '合計で',(":#b),'個あります'
)

f 3 5 10
3 5 6 8 9 10
合計で6個あります

349:デフォルトの名無しさん
10/01/19 19:56:12
スレリンク(tech板:14番)
# [1] 授業単元: プログラミング演習�
# [2] 問題文(含コード&リンク):
# 終了時、xとB、まらはAとHの内積のどちらかが0のプログラム。
# (xを入力→Hを設定)
# AとBはそれぞれHやxの最小多項式の係数となるはず。
# X1=(x1,...,xn)の転置行列;
# H=(X1,...,Xt);


350:345
10/01/19 23:04:02
>>347
プログラムというのは何をするのかを示すことなのではないか?

351:デフォルトの名無しさん
10/01/19 23:29:14
スレリンク(tech板:22番)
# [1] 授業単元: プログラミング
# [2] 問題文(含コード&リンク):URLリンク(ime.nu)
#
# 練習問題1*
#  以下に示すプログラムは、リストを操作するプログラムの一部である。このプログラムに、ジストの指定した位置(末尾以外)にノードを挿入する関数insert_nodeと、
# リストの指定した位置のノードを削除する関数delete_nodeを追加し、プログラムを完成させよ。
#  insert_nodeは引致として挿入位置の情報リストの何番目のノードかという情報)とデータ(文字列)を受け取るも
# のとする。また、挿入位置に元々あったノードは、新しく挿入するノードの次の要素となるものとする。
#  リストの先頭ノードとして挿入される場合にも正しく動くようにすること。
#  delete_nodeは、引数として削除位置の情報を受け取る。リストの先頭のノード、最後のノード、途中のノードが削除されたときにそれぞれ正しく動くようにすること。
# また、ノードが1個しかない場合にも正しく動<ようにすること。

352:デフォルトの名無しさん
10/01/20 07:55:26
>>350
この問いかけはどう受け取ればいいのでしょうか。
「あなたの書き込みは組み込み機能の紹介で
プログラムじゃないよ」ということですか?

353:デフォルトの名無しさん
10/01/20 08:52:50
>>352
半分は自問。
スレリンク(tech板) の第一夜を書いたのは
私です。このスレの最後に書き込まれた
>>第二夜?は第一夜とは正反対の主張の方と考えてよいのでしょうか?
を読んで書いてみたのが>>345です。>>347は説明的で冗長な>>345の対極にあるかなと思い、
さらに>>350で問いかけました。
私は、オペレータを知らないとそのプログラムの意味がわからない(APL的)ことは、
関数型言語の欠点ではないかと思っています。

354:デフォルトの名無しさん
10/01/20 09:42:40
補足。説明を論理式で書き表すことができるならば、その論理式が
すなわちプログラムである。というのがPrologの"売り"なんですね。
上の論理式の部分を数式に置き換えて、はたして本当にその数式が
"説明"になっているかということを問題にしているのです。常に
完全に理解している事が前提になっているのではないか、と。

355:デフォルトの名無しさん
10/01/20 10:20:42
>>354
プログラムを使うためのもの見るか、理解するためのものと見るかという違いかな。
このスレの魅力は議論を排除してプログラムコードが並んでいるところだから、
ここではあまりやって欲しくはないが、興味深いテーマではあるね。


356:デフォルトの名無しさん
10/01/20 12:39:24
>>353

>私は、オペレータを知らないとそのプログラムの意味がわからない(APL的)ことは、
>関数型言語の欠点ではないかと思っています。

知らないとわからないのは、あたりまえです。
手続き型言語をひとつ覚えると他の手続き型言語のコードがなんとなくわかる
気がするのは前提とする知識がほとんど同じだからじゃないでしょうか。

357:デフォルトの名無しさん
10/01/20 13:32:59
スレリンク(tech板:22番)
# 次のゲームを考える
# ・二人のプレイヤーA、Bにそれぞれ持ち点m点を与える
# ・コイントスをして表が出たらAからBへ、裏が出たらBからAへ、1点渡す
# ・コイントスをくりかえして先に持ち点がなくなったほうが負け
#
# 一個の自然数mをキーボード入力から読み取ってこのゲームをたとえば1000ゲーム繰り返して、
# 平均何回のコイントスで勝負がつくか、シュミレーションして求めるプログラムを作成してください。
# ただしコイントスを10000回繰り返しても勝負がつかない場合があるかもしれないので、それは回数オーバーとして別にカウントしてください。
#


358:デフォルトの名無しさん
10/01/20 13:35:56
スレリンク(tech板:797番)
# 質問です!
# 文字列を受け取ってスペースと記号を削除した文字列を返すメソッドを作りたいんですが
# どうすればいいでしょうか?
# ちなみに条件はgsubメソッドをつかうこと
# 記号は全角も半角も含む(","とか"。"とか"?"とか"?"とか)
# どなたかお願いします
#


359:デフォルトの名無しさん
10/01/20 16:49:25
>>358
% Prolog

文字列を受け取ってスペースと記号を削除した文字列を返す(_文字列,_スペースと記号を削除された文字列) :-
  atom_codes(_文字列,Codes),
  文字コードならびからスペースと記号を削除する(Codes,Codes2),
  atom_codes(_スペースと記号を削除された文字列,Codes2).

文字コードならびからスペースと記号を削除する([],[]) :- !.
文字コードならびからスペースと記号を削除する([A|R1],X) :-
  全角記号範囲(_コード下限,_コード上限),
  A >= _コード下限,A =< _コード上限,
  文字コードならびからスペースと記号を削除する(R1,X),!.
文字コードならびからスペースと記号を削除する([A|R1],X) :-
  半角記号範囲(_コード下限,_コード上限),
  A >= _コード下限,A =< _コード上限,
  文字コードならびからスペースと記号を削除する(R1,X),!.
文字コードならびからスペースと記号を削除する([A|R1],[A|R2]) :-
  文字コードならびからスペースと記号を削除する(R1,R2),!.

全角記号範囲(41376,41726).

半角記号範囲(32,47).
半角記号範囲(58,64).
半角記号範囲(91,96).

360:デフォルトの名無しさん
10/01/20 17:45:16
>>358
使用言語:J

f=:-.&(ucp&',.?、。?')

a=:ucp'a,い、b?ろ?c.は。'
f a
aいbろcは

361:デフォルトの名無しさん
10/01/20 18:02:12
>>358
使用言語:J

NB.f=:-.&(ucp&',.?、。?')間違えたので、訂正します。ucpの後ろの&はいりませんでした。

f=:-.&(ucp',.?、。?')

a=:ucp'a,い、b?ろ?c.は。'

f a
aいbろcは

362:デフォルトの名無しさん
10/01/20 18:19:02
スレリンク(tech板:31番)
# [1] プログラミング実習
# [2] URLリンク(ime.nu)
#
# 以下に示すプログラムは、リストを操作するプログラムの一部である。この
# プログラムに、リストの指定した位置(末尾以外)にノードを挿入する関数insert_nodeと、
# リストの指定した位置のノードを削除する関数delete_nodeを追加し、プログラムを完成させよ。
# insert_nodeは引数として挿入位置の情報(リストの何番目かという情報)とデータ(文字列)を受け取るものとする。
# また、挿入位置にもともとあったノードは、新しく挿入するノードの次の要素となるものとする。
# リストの先頭ノードとして挿入される場合も正しく動作するようにすること。
# delete_nodeは、引数として削除位置の情報を受け取る。リストの先頭のノード、
# 最後のノード、途中のノードが削除されたときにそれぞれ正しく動くようにすること。
# また、ノードが一個しかない場合も正しく動くようにすること。

363:デフォルトの名無しさん
10/01/20 18:21:50
スレリンク(tech板:755番)
# 【 課題 】インターネット書店を作成せよ
#       <条件>
#       ・画面サイズ→VGAとする
#       ・書籍は5ジャンル150冊
#       ・1回の注文で5種類まで書籍を注文可能
#       ・書籍の値段は20円単位とし、書籍の値段は自由
#       ・書籍価格の合計金額の2%のポイントが与えられる。(ただし、ポイントは第一ジャンルは2倍、第二ジャンルは3倍になる)
#       ・注文終了後、注文確認画面で注文と支払い代金、獲得ポイントが確認できる。(支払い代金とは、注文図書の合計金額と消費税の和)
#       ・貯まったポイントを併用して支払いが可能(ポイントの価値は、1ポイント1円)
#       ・書籍の発送は電子メールの添付ファイルで行う(発送は出来なくてよい)
#       ・ソフトキーボードのみ使用可能
#
# 【 補足 】実用的な画面インタフェースでは取消機能が必要であるが、ここでは取消機能については
#       考えなくてよい。
#       また、ユーザーは正しい操作を行うものと仮定して良い。

364:デフォルトの名無しさん
10/01/20 18:40:51
>>362>>351 と同じ問題でした。

365:デフォルトの名無しさん
10/01/20 19:14:59
>>357
% Prolog (その一)

一個の自然数mをキーボード入力から読み取ってこのゲームをたとえば1000ゲーム
繰り返して、平均何回のコイントスで勝負がつくか、シュミレーションして求める(_平
均コイントス数) :-
  催促付き整数入力('A,Bが持つコイン数を入力してください :',M),
  このゲームをたとえば1000ゲーム繰り返して、平均何回のコイントスで勝負が
つくか(1,M,_無効ゲーム数,_平均コイントス数),!.

このゲームをたとえば1000ゲーム繰り返して、平均何回のコイントスで勝負がつく
か(M,_無効ゲーム数,_平均コイントス数) :-
  このゲーム(1,M,_有効コイントス総数,_無効ゲーム数),
  \+(_無効ゲーム数 = 1000),
  _平均コイントス数 is _有効コイントス総数 / (1000 - _無効ゲーム数).

このゲーム(N,_,0,0) :- N > 1000,!.
このゲーム(N,M,_コイントス総数,_無効ゲーム数) :-
  コイントスシミュレーション(1,M,M,_トス数),
  N2 is N + 1,
  このゲーム(N,_,_コイントス総数の二,_無効ゲーム数),
  _コイントス総数 is _コイントス総数の二 + _トス数,!.
このゲーム(N,M,_コイントス総数,_無効ゲーム数) :-
  N2 is N + 1,
  このゲーム(N,M,_コイントス総数,_無効ゲーム数の一),
  _無効ゲーム数 is _無効ゲーム数の一 + 1,!.

366:デフォルトの名無しさん
10/01/20 19:18:39
>>357 改行位置を間違えたので書き直し。
% Prolog (その一)

一個の自然数mをキーボード入力から読み取ってこのゲームをたとえば1000ゲームを繰り返して、平均何回のコイントスで勝負がつくか、シュミレーションして求める(_平均コイントス数) :-
  催促付き整数入力('A,Bが持つコイン数を入力してください :',M),
  このゲームをたとえば1000ゲーム繰り返して、平均何回のコイントスで勝負がつくか(1,M,_無効ゲーム数,_平均コイントス数),!.

このゲームをたとえば1000ゲーム繰り返して、平均何回のコイントスで勝負がつくか(M,_無効ゲーム数,_平均コイントス数) :-
  このゲーム(1,M,_有効コイントス総数,_無効ゲーム数),
  \+(_無効ゲーム数 = 1000),
  _平均コイントス数 is _有効コイントス総数 / (1000 - _無効ゲーム数).

このゲーム(N,_,0,0) :- N > 1000,!.
このゲーム(N,M,_コイントス総数,_無効ゲーム数) :-
  コイントスシミュレーション(1,M,M,_トス数),
  N2 is N + 1,
  このゲーム(N,_,_コイントス総数の二,_無効ゲーム数),
  _コイントス総数 is _コイントス総数の二 + _トス数,!.
このゲーム(N,M,_コイントス総数,_無効ゲーム数) :-
  N2 is N + 1,
  このゲーム(N,M,_コイントス総数,_無効ゲーム数の一),
  _無効ゲーム数 is _無効ゲーム数の一 + 1,!.

367:デフォルトの名無しさん
10/01/20 19:20:20
>>357
% Prolog (その二)

コイントスシミュレーション(N,_,_,_) :- N > 10000,!,fail.
コイントスシミュレーション(N,A,B,N) :- コイントスをくりかえして先に持ち点がなくなったほうが負け(A,B,_),!.
コイントスシミュレーション(N,A1,B1,X) :-
  コイントス(_表か裏か),
  表が出たらAからBへ、裏が出たらBからAへ、1点渡す(表,A1,B1,A2,B2),
  N2 is N + 1,
  コイントスシミュレーション(N,A2,B2,X),!.

表が出たらAからBへ、裏が出たらBからAへ、1点渡す(表,A1,B1,A2,B2) :- A2 is A1 -1,B2 is B1 + 1,!.
表が出たらAからBへ、裏が出たらBからAへ、1点渡す(裏,A1,B1,A2,B2) :- B2 is B1 -1,A2 is A1 + 1,!.

コイントスをくりかえして先に持ち点がなくなったほうが負け(0,_,'Aの負け').
コイントスをくりかえして先に持ち点がなくなったほうが負け(_,0,'Bの負け').

コイントス(_表か裏か) :- N is (random mod 2) + 1,list_nth(N,[表,裏],_表か裏か).


368:デフォルトの名無しさん
10/01/20 19:59:07
>>351
% Prolog

'リストの指定した位置(末尾以外)にノードを挿入する'(_指定した位置,Node,_リスト,_挿入されたリスト) :-
  insert_node(_指定した位置,Node,_リスト,_挿入されたリスト).

insert_node(_,_,[],_) :- !,fail.
insert_node(0,Node,_リスト,[Node|_リスト]) :- !.
insert_node(_指定した位置,Node,[A|R1],[A|R2]) :-
  _指定した位置の一 is _指定した位置 - 1,
  insert_node(_指定した位置の一,Node,R1,R2).

リストの指定した位置のノードを削除する(_指定した位置,_リスト,_指定した位置のノードが削除されたリスト) :-
  delete_node(_指定した位置,_リスト,_指定した位置のノードが削除されたリスト).

delete_node(1,[_|R],R) :- !.
delete_node(_指定した位置,[A|R1],[A|R2]) :-
  _指定した位置の一 is _指定した位置 - 1,
  delete_node(_指定した位置の一,R1,R2).


369:デフォルトの名無しさん
10/01/20 20:43:07
>>332
% Prolog

与えられた文字列の各文字を要素とする文字リストを作成し返す(_文字列,_各文字を要素とする文字リスト) :-
  make_clist(_文字列,_各文字を要素とする文字リスト).

make_clist(_文字列,_各文字を要素とする文字リスト) :-
  sub_atom(_文字列,_,_文字列の長さ,_,_文字列),
  make_clist(0,_文字列の長さ,_文字列,_各文字を要素とする文字リスト).

make_clist(N,N,_文字列,[]) :- !.
make_clist(N,_文字列の長さ,_文字列,[_文字|R]) :-
  sub_atom(_文字列,N,1,_,_文字),
  N2 is N + 1,
  make_clist(N2,_文字列の長さ,_文字列,R).

与えられた文字列の各文字を要素とする文字リストの内容を印字する(_文字リスト) :-
  print_clist(_文字リスト).

print_clist([]).
print_clist([_文字|R]) :-
  put_char(_文字),
  print_clist(R).

370:デフォルトの名無しさん
10/01/20 22:14:25
>>333
% Prolog

'与えられた二つのリストに含まれる文字の並びを辞書式順序(※)で比較し、第一のリストの方が小さければ負の値、大きければ正の値、等しければ0を返す'(_文字リスト_1,_文字リスト_2,_返り値) :-
  compare(_文字リスト_1,_文字リスト_2,_返り値).

compare([],[],0).
compare([],[_|_],-1).
compare([_|_],[],1).
compare([A|_],[B|_],-1) :-
  char_code(A,CodeA),CodeA >= 65,CodeA =< 90,
  char_code(B,CodeB),CodeB >= 97,CodeB =< 122,
  CodeC is CodeB - 32,
  CodeC >= CodeA,!.
compare([A|_],[B|_],1) :-
  char_code(A,CodeA),CodeA >= 97,CodeA =< 122,
  char_code(B,CodeB),CodeB >= 65,CodeB =< 90,
  CodeC is CodeA - 32,
  CodeC =< CodeA,!.
compare([A|_],[B|_],-1) :- A @< B,!.
compare([A|_],[B|_],1) :- A @> B,!.
compare([A|R1],[A|R2],X) :-
  compare(R1,R2,X).

371:デフォルトの名無しさん
10/01/20 22:36:28
>>334
% Prolog

'与えられた文字リストの先頭から見ていき、要素が"<"なら自身と(あれば)直前の要素を、">"なら自身と(あれば)直後の要素を取り除く'(_文字リスト,_編集された文字リスト) :-
  edit(_文字リスト,_編集された文字リスト).

edit([],[]).
edit([_,'<'|R1],R2) :- edit(R1,R2),!.
edit(['>',_|R1],R2) :- edit(R1,R2),!.
edit([A|R1],[A|R2]) :- edit(R1,R2).


372:デフォルトの名無しさん
10/01/20 22:45:36
>>335
% Prolog の場合与えられたリストの変形(破壊代入)は使えない。

引数として三種のリストが与えられると、第一のリスト内に含まれる第二のリストに一致する部分を第三のリストに置き換える(_リスト_1,_リスト2,_リスト_3,L) :-
  replace(_リスト_1,_リスト_2,_リスト_3,L).

replace(L1,L2,L3,L) :-
  append(L0,L2,L4,L1),
  append(L0,L3,L4,L).


373:デフォルトの名無しさん
10/01/20 22:58:22
>>336
% Prolog リストの変形では得られない点は同じ。

与えられた文字リスト中で複数回現れる文字を残して得られるリストを作成する(_文字リスト,_複数回現れる文字を残して得られるリスト) :-
  multiple(_文字リスト,_複数回現れる文字を残して得られるリスト).

multiple(_文字リスト,_複数回現れる文字を残して得られるリスト) :-
  findall(_文字,(append(L1,[_文字|L2],_文字リスト),\+(member(_文字,L1)),member(_文字,L2)),_複数回現れる文字を残して得られるリスト).


374:デフォルトの名無しさん
10/01/20 23:01:33
スレリンク(tech板:33番)
# [1] プログラミング基礎実習
# [2] 文字列strを逆順に格納する関数("SEC"を受け取ったら"CES"とする)
# void rev_string(char str[]){ /*…*/ }
# を作成せよ。



375:デフォルトの名無しさん
10/01/21 06:11:46
>>374
% Prolog 全然、説明的でない例

'文字列strを逆順に格納する'(_Str,Rstr) :-
  rev_string(Str,Rstr).

rev_string(Str,Rstr) :-
  sub_atom(Str,_,Len,_,Str),
  findall(Char,(for(0,N,Len-1),sub_atom(Str,_,1,N,Char)),L),
  concat_atom(L,Rstr).


376:デフォルトの名無しさん
10/01/21 06:17:12
>>374
% Prolog ふつうは

'文字列strを逆順に格納する'(_Str,Rstr) :-
  rev_string(Str,Rstr).

rev_string(Str,Rstr) :-
  atom_chars(Str,Chars),
  rev_string(Chars,[],RChars),
  atom_chars(Rstr,RChars).

rev_string([],X,X).
rev_string([A|R],Y,X) :- rev_string(R,[A|Y],X).

377:デフォルトの名無しさん
10/01/21 06:25:13
スレリンク(tech板:38番)
# 長くなったのでうpロダお借りしました。
#
# 問題1
# URLリンク(ime.nu)
# コピーさせていただきました URLリンク(nojiriko.asia)

378:デフォルトの名無しさん
10/01/21 06:28:56
スレリンク(tech板:38番)
# [1] 授業単元:応用プログラミング
# [2] 問題文(含コード&リンク):
# 直方体のデータが格納されたファイルを取り扱うプログラムを実装したい。
# プログラムリスト中に必要な関数を実装し、プログラムを完成させよ。尚、プログラムは以下の前提条件(1)−(4)を満たすよう作成せよ。
# (1)新たに大域変数やクラス、クラス内のメンバ変数を宣言してはならない。
#(2)main関数を含む既存の関数、クラス内のメンバ変数は一切変更してはならない。
#(3)直方体のデータが一行毎に、直方体の名前、幅、奥行き、高さ、の順に、スペース区切りで格納されているファイルを読み込める。
#(4)最大20個分のデータを読み込める。
#(5)初めに読み込むファイル名を入力した後、読み込んだデータ数を表示する。
#(6)(5)の表示後、以下に示す操作が繰り返し実行可能であること。
#   操作方法と出力の詳細については、実行例を参考にすること。
#    (ア)データを読み込んだ順に表示する。
#    (イ)体積、もしくは表面積の大きい順に表示する。
#    (ウ)立方体、もしくは正四角柱のみを表示する。
#    (エ)直方体を1個指定し、3辺の長さ(幅、奥行き、高さ)を指定した倍率だけ伸縮する。


379:デフォルトの名無しさん
10/01/21 07:01:07
昨日から悩んでいること。出題が
# 与えられた文字列の各文字を要素とする文字リストを作成し返す関数make_clistと、与えられた文字リスト
# の内容を印字する関数print_clistを作成せよ。
の場合、導入述語名は

'与えられた文字列の各文字を要素とする文字リストを作成し返す関数make_clistと、与えられた文字リストの内容を印字する関数print_clistを作成せよ'(_文字リスト_1,_文字リスト_2,_返り値) :-
  make_list(_文字リスト_1,_文字リスト_2,_返り値).

であるべきか、あるいは、>>370のように、
'与えられた二つのリストに含まれる文字の並びを辞書式順序(※)で比較し、第一のリストの方が小さければ負の値、大きければ正の値、等しければ0を返す'(_文字リスト_1,_文字リスト_2,_返り値) :-
  compare(_文字リスト_1,_文字リスト_2,_返り値).

とした方がよいか・・。 前の方の定義だと引数を持っていることが不自然かなと思い採用しなかった。


380:デフォルトの名無しさん
10/01/21 13:02:50
>>379
二番目の定義が次の問題になってしまった。結果として意味不明。
make_clistがmake_listになってるところもあるし。>>379はなかったことにしてください。



381:デフォルトの名無しさん
10/01/22 18:38:58
>>341
% Prolog

'異なる自然数p,qと、もう一つの自然数dを入力する。d以下の自然数kのうちで、k=mp+nqと表すことの出来るもの(m,nは自然数)を小さい順に表示し、最後にその個数を表示する' :-
  '異なる自然数p,qと、もう一つの自然数dを入力する'(_p,_q,_d),
  findall(K,'d以下の自然数kのうちで、k=mp+nqと表すことの出来るもの(m,nは自然数)を小さい順に集め'(_p,_q,_d,L),
  concat_atom(L,' ',S),
  write_formatted('%t\n',[S]),
  length(L,_その個数),
  write_formatted('合計で%t個あります\n',[_その個数]),!.

'異なる自然数p,qと、もう一つの自然数dを入力する'(_p,_q,_d) :-
  get_line(Line),
  split(Line,[' '],[_p,_q,_d]),!.

'd以下の自然数kのうちで、k=mp+nqと表すことの出来るもの(m,nは自然数)を小さい順に集め'(_p,_q,_d,_kならび) :-
  findall(N,for(0,N,10),L1),
  findall(_k,(for(0,_k,_d),順列(L1,2,[_m,_n]),'d以下の自然数kのうちで、k=mp+nqと表すことの出来るもの'(_p,_q,_d,_m,_n,_k)),_kならび),!.

'd以下の自然数kのうちで、k=mp+nqと表すことの出来るもの'(_p,_q,_d,_m,_n,_k) :-
  _k is _p * _m + _q * _n,
  _k =< _d,!.

382:デフォルトの名無しさん
10/01/22 20:06:16
>>381 訂正
% Prolog

'異なる自然数p,qと、もう一つの自然数dを入力する。d以下の自然数kのうちで、k=mp+nqと表すことの出来るもの(m,nは自然数)を小さい順に表示し、最後にその個数を表示する' :-
  '異なる自然数p,qと、もう一つの自然数dを入力する'(_p,_q,_d),
  'd以下の自然数kのうちで、k=mp+nqと表すことの出来るもの(m,nは自然数)を小さい順に集め'(_p,_q,_d,L),
  '表示し'(L),
  最後にその個数を表示する(L),!.

表示し(L) :-
  concat_atom(L,' ',S),
  write_formatted('%t\n',[S]),!.

最後にその個数を表示する(L) :-
  length(L,_その個数),
  write_formatted('合計で%t個あります\n',[_その個数]),!.

'異なる自然数p,qと、もう一つの自然数dを入力する'(_p,_q,_d) :-
  get_line(Line),
  split(Line,[' '],[_p,_q,_d]),!.

'd以下の自然数kのうちで、k=mp+nqと表すことの出来るもの(m,nは自然数)を小さい順に集め'(_p,_q,_d,_kならび) :-
  findall(N,for(0,N,10),L1),
  findall(_k,(for(0,_k,_d),順列(L1,2,[_m,_n]),'d以下の自然数kのうちで、k=mp+nqと表すことの出来るもの'(_p,_q,_d,_m,_n,_k)),_kならび),!.

'd以下の自然数kのうちで、k=mp+nqと表すことの出来るもの'(_p,_q,_d,_m,_n,_k) :-
  _k is _p * _m + _q * _n,
  _k =< _d,!.


383:デフォルトの名無しさん
10/01/22 20:10:32
スレリンク(tech板:771番)
# 【 課題 】
# サーバとクライアントでの間で文字列を送り合うプログラムをつくれ。
# ただし、以下の条件を満たすようにすること。
# アドレス、ポート、名前、文字列はキーボード入力し、お互いに自由に指定できるようにする。
# クライアントで quit が入力された場合、クライアントは接続を切りプログラムを終了し、
# サーバは接続が切られたら、次のクライアントの接続を待つ
# サーバで quit が入力された場合、サーバは接続を切り、次のクライアントの接続を待ち、
# クライアントは接続が切られたらプログラムを終了する
# エンターキーのみが入力された場合は、文字列を送らずもう一度文字列を入力させて、
# その文字列を送るようにする。


384:デフォルトの名無しさん
10/01/22 20:13:21
スレリンク(tech板:74番)
# [1] 授業単元:プロトタイプ宣言
# [2] 問題文(含コード&リンク):『私は○○です』と表示する関数を作成して
# main関数でそれを三回呼び出して、画面に三回出力プログラムを作成せよ。
# 表示のための関数の名前は『display_name』とせよ
#


385:デフォルトの名無しさん
10/01/22 20:19:16
>>384
% Prolog programがmainにあたる。

display_name :-
  write('私は○○です\n').

program :-
  for(1,N,3),display_name,N=3,halt.

386:デフォルトの名無しさん
10/01/22 21:09:18
>>384

このプログラムのドコが「説明を論理式で書き表すことができるならば、
その論理式がすなわちプログラムである」のだろうか。


387:386
10/01/22 23:43:35
アンカミス
X:>>384 --> O:>>385

388:デフォルトの名無しさん
10/01/23 03:44:26
スレリンク(tech板:77番)
# [1] 授業単元:プログラミング実習
# [2] 問題文:クラスタリングk-means法
# 1、初期値として、クラスタ数および初期のデータ分割を与える。
#  2、データ分割に基づき各分割の重心を求める。
#    さらに、重心と各事例データとの距離を求める
#  3、各事例を最も近いクラスタに割り当てる。
#  4、上記の割り当てが前回と同じであれば終了。
#    更新があれば2に戻る


389:デフォルトの名無しさん
10/01/23 03:51:44
スレリンク(tech板:79番)
# [1] 授業単元:応用プログラミング
# [2] 問題文(含コード&リンク):
# URLリンク(ime.nu)
#
# 直方体のデータが格納されたファイルを取り扱うプログラムを実装したい。
# プログラムリスト中に必要な関数を実装し、プログラムを完成させよ。尚、プログラムは以下の前提条件(1)−(4)を満たすよう作成せよ。
# (1)新たに大域変数やクラス、クラス内のメンバ変数を宣言してはならない。
# (2)main関数を含む既存の関数、クラス内のメンバ変数は一切変更してはならない。
# (3)直方体のデータが一行毎に、直方体の名前、幅、奥行き、高さ、の順に、スペース区切りで格納されているファイルを読み込める。
# (4)最大20個分のデータを読み込める。
# (5)初めに読み込むファイル名を入力した後、読み込んだデータ数を表示する。
# (6)(5)の表示後、以下に示す操作が繰り返し実行可能であること。
#   操作方法と出力の詳細については、実行例を参考にすること。
#    (ア)データを読み込んだ順に表示する。
#    (イ)体積、もしくは表面積の大きい順に表示する。
#    (ウ)立方体、もしくは正四角柱のみを表示する。
#    (エ)直方体を1個指定し、3辺の長さ(幅、奥行き、高さ)を指定した倍率だけ伸縮する。


390:デフォルトの名無しさん
10/01/23 03:59:06
>>386 >>387

>>382 の方ではなくて? これは結構苦闘してる。
>>385 は「説明を論理式で書き表すことができるならば、その論理式がすなわちプログラムである」の
意識の全くないプログラムだけど。題意もつかめなかった。

391:デフォルトの名無しさん
10/01/23 04:11:07
>>386

>>385
# prolog -e 私は○○です.pro
私の名前は○○です
#
と表示されるためには、mainではなく、述語名がprogramである必要が
あることを示すために書いたコードです。

392:391
10/01/23 04:33:07
すみません。私の名前は○○ですを3回繰り返すのを忘れました。



393:デフォルトの名無しさん
10/01/23 04:53:45
>>384
% Prolog この問題は編集を余儀なくされました。もっと素直な表現がありそう。

program :-
  『私は○○です』と画面に表示する関数display_nameを三回呼び出して出力する,
  終了.

『私は○○です』と画面に表示する関数display_nameを三回呼び出して出力する :-
  display_name,
  display_name,
  display_name.

display_name :- write('私は私は○○です\n').

終了 :- halt.

394:デフォルトの名無しさん
10/01/23 05:00:40
--lua
function display_name()
print "私は私は○○です"
end
function main()
display_name()
display_name()
display_name()
end
main()

395:デフォルトの名無しさん
10/01/23 05:01:31
>>379 でそれに関することを書きたかったのですが、
># [2] 問題文(含コード&リンク):『私は○○です』と表示する関数を作成して
># main関数でそれを三回呼び出して、画面に三回出力プログラムを作成せよ。
># 表示のための関数の名前は『display_name』とせよ

「関数を作成して」あたりを切り落としたくないのですが、述語名に取り込む
方法が今のところ見つからない。

396:デフォルトの名無しさん
10/01/23 05:11:05
function display_name(name)
print("私は私は"..name.."です")
end
function main()
name=io.read()
display_name(name)
name=io.read()
display_name(name)
name=io.read()
display_name(name)
end
main()

397:デフォルトの名無しさん
10/01/23 07:44:33
>>395 これではだめかいwww

program :-
  『私は○○です』と表示する関数を作成してmain関数でそれを三回呼び出して、画
面に三回出力プログラムを作成せよ .

『私は○○です』と表示する関数を作成してmain関数でそれを三回呼び出して、画面に
三回出力プログラムを作成せよ :-
  『私は○○です』と表示する関数を作成して ,
  main.

『私は○○です』と表示する関数を作成して :-
  assertz((display_name :- write('私は○○です\n'))).

main :- display_name,display_name,display_name.



398:デフォルトの名無しさん
10/01/23 09:03:32
>>389 の URLリンク(kansai2channeler.hp.infoseek.co.jp)
には大量の実行例とデータが載っています。2レスに分けて掲載します。
# [実行例]
# ファイル名を入力して下さい => data.txt
# 5個のデータを読み込みました.
# 1: 入力順に表示 2: 整列 3: 探索 4: 拡大・縮小 0: 終了
# 何をしますか? => 1
# No. Name Width Depth Height Volume Area
# [ 1] A 1 2 3 6 22
# [ 2] B 3 3 3 27 54
# [ 3] C 3 2 1 6 22
# [ 4] D 2 2 2 8 24
# [ 5] E 5 1 5 25 70
# 1: 入力順に表示 2: 整列 3: 探索 4: 拡大・縮小 0: 終了
# 何をしますか? => 1
# 何順に整列しますか?(0:体積 1:表面積) => 0
# No. Name Width Depth Height Volume Area
# [ 2] B 3 3 3 27 54
# [ 5] E 5 1 5 25 70
# [ 4] D 2 2 2 8 24
# [ 1] A 1 2 3 6 22
# [ 3] C 3 2 1 6 22


399:デフォルトの名無しさん
10/01/23 09:04:22
# 1: 入力順に表示 2: 整列 3: 探索 4: 拡大・縮小 0: 終了
# 何をしますか? => 3
# 何を探索しますか?(0:体積 1:表面積) => 1
# No. Name Width Depth Height Volume Area
# [ 2] B 3 3 3 27 54
# [ 4] D 2 2 2 8 24
# [ 5] E 5 1 5 25 70
# 1: 入力順に表示 2: 整列 3: 探索 4: 拡大・縮小 0: 終了
# 何をしますか? => 4
# どの直方体ですか?(1〜5) => 1
# 何倍しますか? => 1.5
# 1: 入力順に表示 2: 整列 3: 探索 4: 拡大・縮小 0: 終了
# 何をしますか? => 1
# No. Name Width Depth Height Volume Area
# [ 1] A 1.5 3 4.5 20.25 49.5
# [ 2] B 3 3 3 27 54
# [ 3] C 3 2 1 6 22
# [ 4] D 2 2 2 8 24
# [ 5] E 5 1 5 25 70
# 1: 入力順に表示 2: 整列 3: 探索 4: 拡大・縮小 0: 終了
# 何をしますか? => 0
# 終了します.

400:デフォルトの名無しさん
10/01/23 09:06:12
# データファイル
# A 1 2 3
# B 3 3 3
# C 3 2 1
# D 2 2 2
# E 5 1 5

401:デフォルトの名無しさん
10/01/23 09:08:27
>>384
使用言語:J

display_name=:[: smoutput '私は○○です。'"_
main=:display_name^:(3)

main ''
私は○○です。
私は○○です。
私は○○です。

402:デフォルトの名無しさん
10/01/23 16:25:45
スレリンク(tech板:83番)
# [1]プログラミング演習(大学専門過程演習授業)
# [2] コマンドライン引数で与えられたテキストファイルを読み込み
# 空行でなければ、その行に含まれているスペース、タブを
# 除去したものを標準出力するプログラム。但し英数字と"_"で
# 構成される文字列同士の間には一つのスペースは残す。
# ",'で囲まれた部分に関してはスペース、タブはそのまま残す
# "で囲まれた部分について最後の文字が¥であってはならない。
# 'で囲まれた部分について最後の文字が¥であってはならない。
# (テキストファイルの空行と余計な空白/タブを除去する
# プログラムでクオテーションに配慮したもの)


403:デフォルトの名無しさん
10/01/23 23:22:54
スレリンク(tech板:91番)
# [1] 授業単元:情報処理
# [2] 問題文:
#
# 問1 キーボードから3個の実数(整数でない)値を1行に1組として計5組入力し、
# ファイル(ファイル名data1.txt)に保存する。
#
# 問2
#  問1で作ったファイルから実数値を読み込み、総合計と各組の実数の平均を求める

# ただし、ファイルに書かれている組の数は不明とする。


404:デフォルトの名無しさん
10/01/24 06:23:46
スレリンク(tech板:93番)
# [1] 授業単元:プロトタイプ宣言
# [2] 問題文(含コード&リンク):
# 次の式を以下の条件(値)に基づいて計算.表示するプログラムを作成せよ。ただし式は簡単化せずそのままプログラムすることとして、更に表示するときは計算の答えと合� 錣擦鴇魴�値)も表示して分かりやすくせよ。
#
# 計算する式
# {(a+b)c-a(b-c)}/{(c/b)a+abc-ca}
#
# 条件1
# a=3 b=4 c=2
# a=3 b=4.3 c=2.5
# a=32.6 b=57.82 c=2.543
#
# この問題を、
# 式の分だけを関数化した場合
# 式と出力部分を関数化した場合
# の2つの場合でプログラムを作成せよ


405:デフォルトの名無しさん
10/01/24 06:24:41
スレリンク(tech板:94番)
# [1] C
# [2]
# 反復列 x_n+1=a*x_n(1-x_n),0<=a<=4,0<=x<=1
# に対して、x_nが1周期(不動点)、2周期、4周期、8周期、16周期
# をもつaの範囲について、プログラムを作成して確かめよ。
# ※
# ○周期というのはaがある値のとき、○個の解で振動するという意味です※


406:デフォルトの名無しさん
10/01/24 06:28:27
スレリンク(tech板:95番)
# [1] 授業単元: プログラミング演習
# [2] 問題文(含コード&リンク):URLリンク(ime.nu)
#
# 等しい合計点
#
# 太郎と花子はそれぞれカードを何枚か持っている.各カードには点数が書かれている.
# 太郎のカードと花子のカードを 1 枚ずつ交換して,それぞれの持つカードの合計点数が等しくなるようにしたい.
# どのカードとどのカードを交換したらよいか.
#
# ただし,カードを交換しなくても合計点数が等しい場合でも,必ずカードの交換を行うものとする.


407:デフォルトの名無しさん
10/01/24 07:02:19
スレリンク(tech板:778番)
# 【 課題 】1.任意のWEBページからURLリンク(ime.nu)で始まるハイパーリンクを抽出するプログラムの作成
# URLリンク(ime.nu)
# 2.任意のWEBページ10ページに含まれる単語のうち,上位10位の単語リストとその出現頻度
# URLリンク(ime.nu)
# 【 形態 】1. Javaアプリケーション(main()で開始)
# 【 GUI  】制限なし
# 【 期限 】1/25
# 【 Ver  】1.6.0_14
# 【 補足 】1.に関してはプログラムはあっていると思うのですがなぜか実行
#       できないので、実行できたら結果をコピペで教えてもらえたら嬉しいです
#       2.に関しては実行結果があるのですが、上から多い順に並んでいます
#       プログラムのどの部分でその並べ替えを行っているのか、またどんな
#       アルゴリズムを用いて並べ替えているのかを教えてもらえたら嬉しいです


408:デフォルトの名無しさん
10/01/24 12:47:28
スレリンク(tech板:102番)
# [1] 授業単元:プログラミング演習
# [2] 問題文(含コード&リンク):URLリンク(ime.nu)
#
# ●問2.リストの一部を取り除く関数
#
#  与えられた文字リストの先頭から見ていき、要素が'<'なら自身と(あれば)直前の要素を、'>'なら自身
# と(あれば)直後の要素を取り除く関数editを作成せよ。
#  editは与えられたリスト自体を変形し、変形後のリストを返す。
#
# ●問3.いずれか一方のリストに含まれる要素からなるリストを返す関数
#
#  引数として二種の文字リストが与えられると、いずれか一方のリストにのみ含まれる 要素を持つリストを新たに作成し返す関数exclusiveを作成せよ。
#


409:デフォルトの名無しさん
10/01/24 16:43:52
>>408 問2
使用言語:J

edit=:monad define
r=.y#~-.(+._1&|.)(<'>')=y
r#~-.(+.1&|.)(<'<')=r
)

]C=:;/'a<bcd>ef>ghi'
+-+-+-+-+-+-+-+-+-+-+-+-+
|a|<|b|c|d|>|e|f|>|g|h|i|
+-+-+-+-+-+-+-+-+-+-+-+-+
edit C
+-+-+-+-+-+-+
|b|c|d|f|h|i|
+-+-+-+-+-+-+

410:デフォルトの名無しさん
10/01/24 16:50:03
>>408 問3
使用言語:J

exclusive=:dyad def '(x -. y) , y -. x'

]A=:;/'abcdef'
+-+-+-+-+-+-+
|a|b|c|d|e|f|
+-+-+-+-+-+-+

]B=:;/'defghi'
+-+-+-+-+-+-+
|d|e|f|g|h|i|
+-+-+-+-+-+-+

A exclusive B
+-+-+-+-+-+-+
|a|b|c|g|h|i|
+-+-+-+-+-+-+

411:デフォルトの名無しさん
10/01/24 20:46:43
スレリンク(tech板:103番)
# [1] 授業単元:Cプログラミング演習2
# [2] 問題文(含コード&リンク):URLリンク(ime.nu)
# (1) 指定した10 個の整数のうち,指定した数で割り切れる整数の個数を求めるプログラムを作成せよ.
# 以下の関数を利用すること.
# int div_enable(int *in, int num, int divisor)
# in 複数の整数値が格納された配列の(先頭)ポインタ
# num 入力値の数
# divisor 割り切れるかどうかの判定に使う除数
# 戻り値 入力値のうち, divisor で割り切れる整数の数
# 入力に関して
# キーボードから整数(被除数用)をスペース1つずつ空けて10 個入力して改行する.次に除数用
# の自然数を1 つ入力し,改行する.この一連の入力時,例題や解答例のような入力を促す文字
# 等は決して表示しないこと.
# 出力に関して
# 割り切れる整数の個数を数値のみ (+改行)を出力する.指定した数値・改行以外の文字等の出
# 力は一切行わないこと.

412:デフォルトの名無しさん
10/01/24 21:21:01
>>411
使用言語:J

div_enable=: dyad def '+/0=x|y'

]in=:>:i.10
1 2 3 4 5 6 7 8 9 10

3 div_enable in
3

413:デフォルトの名無しさん
10/01/25 05:35:28
スレリンク(tech板:103番)
# [1] 授業単元:Cプログラミング演習2
# [2] 問題文(含コード&リンク):URLリンク(ime.nu)
# (2) 2 つの4×4 行列を2 次元配列に格納し,それらの積を求めるプログラムを作成せよ.以下の関数を
# 利用すること.
# void mult_array(int a0[4][4], int a1[4][4], int result[4][4])
# a0,a1 入力された行列の値が格納された2 次元配列のポインタ
# result 演算結果の行列の値が格納された2 次元配列のポインタ
# 戻り値 なし
# 入力に関して
# キーボードからまず,1 つめの行列の1 行目の4 つの整数をスペース1 つ開けて1 行で入力し,
# 改行する.以下同様に1 つめの行列の2 行目,3 行目,4 行目,2 つめの行列の1・・・4 行目
# を入力する.この一連の入力時,入力を促す文字等は決して表示しないこと.
# 出力に関して
# 1行目に結果の行列の1 行目をスペース1 つあけて特に整形せず数値のみ出力(+改行),以下同
# 様に2 行目,3 行目,4 行目を特に整形せず数値のみ出力する.指定した数値・改行以外の文
# 字等の出力は一切行わないこと.

414:デフォルトの名無しさん
10/01/25 05:37:43
スレリンク(tech板:103番)
# [1] 授業単元:Cプログラミング演習2
# [2] 問題文(含コード&リンク):URLリンク(ime.nu)
#
# (3) 平均値と中央値を求める関数を作成し,その関数を使用して平均値と中央値を出力するプログラム
# を作成せよ.関数は下記の通りとする.
# int median(int *in, int num)
# in 複数の整数値が格納された配列の(先頭)ポインタ
# num 入力値の数
# 戻り値 中央値
# int avg (int *in, int num)
# in 複数の整数値が格納された配列の(先頭)ポインタ
# num 入力値の数
# 戻り値 平均値(四捨五入した整数値, 負の場合丸め方は任意)
# 入力に関して
# キーボードから入力する整数の個数を入力し(最大で128 に対応すること)改行する.次に指
# 定した数の整数をスペース1つずつ開けて1行で入力し,改行する.この一連の入力時,例題
# や解答例のような入力を促す文字等は決して表示しないこと.
# 出力に関して
# 中央値 平均値(+改行)のみ出力.中央値と平均値の間はスペースを1 つ入れること.指定した
# 数値・改行以外の文字等の出力は一切行わないこと.

415:デフォルトの名無しさん
10/01/25 06:03:31
スレリンク(tech板:104番)
#
# 課題1 20 桁までの自然数の足し算と掛け算を浮動小数点演算を用いないで実施するプログラムlongcomp.c を
# 作成し、C のソースコードを提出しなさい。足し算は必須課題、掛け算はオプション課題です。
# 実行形式をlongcomp とした動作仕様は以下である1
# >./longcomp 12345678901234567890 + 12345678901234567890
# >12345678901234567890 + 12345678901234567890 = 24691357802469135780
# >./longcomp 1234567890 * 1234567890
# >1234567890 * 1234567890 = 1524157875019052100


416:デフォルトの名無しさん
10/01/25 06:05:44
スレリンク(tech板:105番)
#
# 課題2 b01, b001 のように二進数をb で始まるように表記する。二進数の集合を、できるだけ少ないノード数
# の二分木に分類するためには、二分木のノードに蓄積する二進数の桁数を可変にすることが有効である。
# こうすることで二進数表記した値(たとえばキーワードとか、位置とか、日付とか)に紐づけられたデータを少ない検索で見つけることができる。
# 扱う二進数の集合を、たとえば
# b00, b001, b0011, b00111, b1000, b11100, b0
# として、これらを図1に示すようにニ分木に分類して、帰りがけ(ポストオーダ)で次のように出力するプログラム(tree) を作成し、C のソースコードを提出しなさい。
# >./tree
# >1 1 1 0 0 000 1100 1 b
#

417:デフォルトの名無しさん
10/01/25 06:14:47
スレリンク(tech板:124番)
# [1] 授業単元: Cプログラミング入門
# [2] 問題文(含コード&リンク): 入力された2つの文字列(日本語その他バイト文字は不可)
# を比較するプログラムを作成せよ。ただし、大文字小文字の違いは無視。単語間に連続して
# スペース・タブが複数入っていても単独のスペースとしない。
#
# [5] その他の制限: 文字列とポインタまでやってます。
# 入力に関して、キーボードから1つ目の文字列を1行で入力し、改行する。
# この時、入力を促す文字は一切表示しない。入力文字数は128文字まで。
# 出力に関して、一致すれば何も表示しない。不一致の場合は最初に不一致となる
# 入力1の文字と入力2の文字(1文字+スペース+1文字+改行)を表示する。
# どちらかが末端の場合は代わりにスペースで埋める。

418:デフォルトの名無しさん
10/01/25 06:22:12
スレリンク(tech板:135番)
# [1] 授業単元:C言語
# [2] 問題文(含コード&リンク):URLリンク(ime.nu)
#
# (1)複数の整数を平均値に近い順にソートするプログラムを作成せよ。
# 平均値は切り捨てして整数値で求めるものとし、平均値との距離が等しい
# 場合は値の小さな整数が優先されるものとする。
#
# 入力に関して

# キーボードからまず、入力する整数の個数を入力(最大で100とする)し、改行。
# 次に指定した数の整数をスペース1つ開けて1行で入力し、改行する。
# この時、入力を促す文字は一切表示しないこと。
# 出力に関して
# ソートした整数をスペース1つのみあけて1行で出力する(+改行)。指定した数改行
# 以外の出力は一切行わないこと。


419:デフォルトの名無しさん
10/01/25 07:12:24
スレリンク(tech板:137番)
# [1] 授業単元: プログラミング概論
# [2] 問題文:"in_file"という名前のファイルの中に18個の整数データが空白や改行コードで区切られて並んでいると仮定した上で、
# この入力ファイルの中のデータを1行に5個ずつきれいに並べて"out_file"という名前のファイルに
# 出力するCプログラムを作成せよ。
# 入力ファイルの内容が
# -1111111111 2222222 333333 4444 55 6 7 8 9 0 1 2 3 4
# 5         6           7890123
# -5666
# の時には、例えば次のような内容を"out_file"に書き出す
# _-1111111111_____2222222______333333________4444__________55
# _________________6_______________7______________8_____________9___________0
# ________________ 1_______________2______________3_____________4___________5
# _________________6_____7890123________-5666
#


420:デフォルトの名無しさん
10/01/25 07:23:27
>>418
;; Common Lisp
(defun sort-ave (lst)
(let ((abs-ave (floor (abs (/ (reduce #'+ lst) (length lst))))))
(sort lst
#'(lambda (a b)
(let ((ax (abs (- (abs a) abs-ave))) (bx (abs (- (abs b) abs-ave))))
(if (= ax bx)
(< a b)
(< ax bx)))))))

(defun main ()
(let ((num (read)) lst)
(cond ((<= num 100)
(dotimes (i num)
(push (read) lst))
(format t "~{~A ~}~%" (sort-ave lst))))))


421:デフォルトの名無しさん
10/01/25 12:56:07
>>418
使用言語:J

f=:monad def '}.|:/:~|:y,:~|y-<.(+/%#)y'

f 0 7 8 9 2 2 5 5 5 3
3 5 5 5 2 2 7 0 8 9

422:デフォルトの名無しさん
10/01/25 15:28:46
スレリンク(tech板:143番)
# [1] データ構造とプログラミング
# [2]
# 演習問題4.5 逆ポーランド記法による入力文字列(空白で区切られている)に対して

# 16進数と10進数で答えを返すプログラムrpnを作りなさい。
# (入力例)rpn 5 2 + 7 *
# (出力例)0x31, 49(decimal)
#


423:デフォルトの名無しさん
10/01/25 17:57:56
スレリンク(tech板:147番)
# [1] 授業単元: C++
# [2] 問題文(含コード&リンク):
# 2.
# URLリンク(ime.nu)
# URLリンク(ime.nu)
# URLリンク(ime.nu)
# URLリンク(ime.nu)
# URLリンク(kansai2channeler.hp.infoseek.co.jp)
↑pm1.txt
# URLリンク(kansai2channeler.hp.infoseek.co.jp)
# ↑pm2.txt
# URLリンク(kansai2channeler.hp.infoseek.co.jp)
# ↑pm3.txt
# というファイルがある。
# plus で始まる行の数値を足し,minus で始まる行の数値を引く。
# ファイルの最後まで計算した結果を表示するプログラムを作成せよ。
# データの数は実行前にはわからないものとする。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4395日前に更新/462 KB
担当:undef