1 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 06:27:59 ] あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。 【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク): [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html 【過去ログ検索】 chomework.sakura.ne.jp/ 【wiki】 www23.atwiki.jp/homework/ 前スレ C/C++の宿題片付けます 136代目 pc12.2ch.net/test/read.cgi/tech/1274827528/
477 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 15:21:19 ] >>469 よみにくいから段下げをつけてくれ
478 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 15:24:06 ] >>473 >>450
479 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 15:36:07 ] >>477 ついてるよ メモ帳にコピペしてみ
480 名前:デフォルトの名無しさん [2010/07/04(日) 15:41:04 ] >>457 もお願いします。
481 名前:デフォルトの名無しさん [2010/07/04(日) 16:04:42 ] [1] 授業単元:方程式の解 [2] 問題文(含コード&リンク):方程式exp(-x^2/2)=0.5の解を求める [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン:Cygwin [3.3] 言語:C [4] 期限:7/9 [5] その他の制限: double f(double x); int main(void){ double x,min_f,solution; min_f=1e100; for(x=0;x<=3;x+=dx){ printf("%e,%e\n",f,min_f); if(fabs(f(x))<min_f){ solution=x; min_f=fabs(f(x)); }} printf("f(%e)=%e\n",solution,min_f); return 0; } double f(double x){ double y; y=exp(-x*x/2)-0.5; return y; } と組んで実行できたんですが、なぜmin_fを最初に10^100とするのでしょうか? なんか私の感覚的には10^-100な気がするのですが・・・ この部分の解説お願いします。
482 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:20:47 ] >>479 確かにソースをみるとついてますな。
483 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:44:30 ] >>481 範囲をdx刻みで分割して、|f(x)|が最小となるxを求める。 min_fは暫定の最小。もしあるxで|f(x)|<min_fなら、min_fを更新する。 dxに対してmin_fを小さくしすぎると、|f(x)|<min_fなxがない可能性がある。
484 名前:デフォルトの名無しさん [2010/07/04(日) 20:06:11 ] >>476 うわっ、お前マジキモイ・・・そのままトリップを付けたまま書き込めよ。 必死に自分の不満、苛立ちを露にする長文を書くしバカ丸出しw
485 名前:デフォルトの名無しさん [2010/07/04(日) 20:06:54 ] >>476 > それはおまえさんのことですがな。 いや、お前のことだよ。第一、お前はトリップを付けているが お前にレスした奴が特定の一人とは限らないだろ?
486 名前:デフォルトの名無しさん [2010/07/04(日) 20:07:19 ] >>476 見えない敵と戦う必死な戦士、かっちょわりぃ〜w
487 名前:デフォルトの名無しさん [2010/07/04(日) 20:08:06 ] >>476 >>1 >あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。 読めませんか?相手をいちいち自分の勘違いで挑発するお前が一番幼稚
488 名前:デフォルトの名無しさん [2010/07/04(日) 20:08:28 ] >>476 日本語でおk
489 名前:デフォルトの名無しさん [2010/07/04(日) 20:09:12 ] >>476 自分はさっぱり分かりません、みたいなしらばっくれた書き込みをして 自分がした 勘違い を認めないとか、頭おかしいぞw 自覚が無いなら責任が問われる社会では通用しません。
490 名前:デフォルトの名無しさん [2010/07/04(日) 20:09:55 ] >>476 最後の1行がみっともないです ><; 早くこのスレから出て行くか、大人になって下さい ><; ねぇ、まだ社会に出て働いた事の無いお子ちゃまw
491 名前:デフォルトの名無しさん [2010/07/04(日) 20:10:37 ] >>476 やっぱりお前が>>1 の注意書きを読めてないじゃんw
492 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:11:40 ] >>476 そろそろ、自分の苛立ちを見えない敵にぶつけないで良いよ。 今後無駄なレスをしても、スルーされるだけだからw で、お前は俺を麻呂と思っているんだろ?麻呂があれから 騙りもあり、しばらく来ていなかったことも知らないとは・・・ そうやって見えない敵に噛み付いてなさいw
493 名前:デフォルトの名無しさん [2010/07/04(日) 20:14:39 ] >>476 の書き込み全てが恥ずかしい。このスレに何しに来てんですか? 他人にお前こそと言う前に、議論するスレは他にありますので、そちらでやって下さい。 トリップ付けてまでバカ晒すなよ、ガキw
494 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:16:42 ] >>493 お前はコテハンかトリップつけろクズ
495 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:28:46 ] >>469 解答ありがとうございます。もしよろしかったら、使用する標準関数は、strncmp(),strcpy(),strlen()で書いてもらえないでしょうか?
496 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:47:34 ] 少しも勉強しないんだな。それでいいのか若者
497 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:56:45 ] >>476 ありがとうございます。助かりました。
498 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 21:23:46 ] >>495 codepad.org/T48qu3kj
499 名前:481 [2010/07/04(日) 21:37:31 ] >>483 どうもありがとうございます。納得できました。 ifの条件文に引っかからなくなる直前のxがsolutionとなる、という認識で大丈夫ですか?
500 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 23:15:12 ] >>478 ありがとうございます。
501 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 23:29:02 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク): 次式の値を返す関数を作成せよ。 f(x)=e^{-x} cos(2πx) その関数を用いて0≦x≦3の間で0.1刻みで計算し、結果をリダイレクトで ファイルに記録せよ。その結果をgnuplotでグラフにして示せ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月6日 よろしくお願いします。
502 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 00:35:56 ] だれか>>440 お願いします。
503 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 04:14:21 ] >>440 【1】 (1) return ; (2) shift_down(heap, s, 2*s, n); 【2】 (2) swap(&heap[1], &heap[i]); (2) shift_down(heap, 1, 2, i-1); 酷いコードだ。 教育だからこそ、スマートなコードにしてくれることを切に願う。
504 名前:デフォルトの名無しさん [2010/07/05(月) 05:16:09 ] [1]授業単元:プログラミング演習 [2]問題文;離散探索木(26進)と外部ハッシュ法の比較(探索関数) キー: 文字列 使用ファイル: wordE100KR.dat 上記ファイルを読み込み、通常の配列に格納する。 この配列から要素を読み込み、分離連鎖法および離散探索木(26進)を生成する。 格納された要素と同一の要素集合すなわち、配列に格納された用語集合に対して、1万語毎に探索を行い、照合回数、および探索時間を測定する。 結果として、照合回数について20個のデータ(2×10)、同様に探索時間について20個のデータ(2×10)が得られる。 これらのデータをExcelに格納し、表、グラフを作成し、分析せよ。 [3]環境 [3.1]OS;windowsXP [3.2]コンパイラ名とバージョン:gcc [3.3] 言語:C/C++どちらでも可 [4]期限;7月8日 使用ファイルはrg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm にあります。 丸投げで申し訳ありません。よろしくお願いします。
505 名前:デフォルトの名無しさん [2010/07/05(月) 06:49:51 ] すみません、>>457 もお願いします。
506 名前:デフォルトの名無しさん [2010/07/05(月) 12:32:23 ] [1] 授業単元: C言語プログラミング [2] 問題文メモリや実行時間の許容範囲内の、最大完全数、最大友愛数、および最大婚約数を算出プログラムを作成 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Microsoft Visualstadio 2003 [3.3] C言語・C++ [4] 期限: ([2010年7月6日12:00まで よろしくお願いします。
507 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 16:52:56 ] >>461 おねがいします
508 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:01:57 ] >>507 zipはめんどくさいので放置。 できれば1レス、最低でもWEBだけで確認できる様に書きなおせ。
509 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:03:46 ] >>506 > 許容範囲内 とは誰が許容する範囲内なんだ。 具体的に書きなおせ。
510 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:50:36 ] 最大友愛数、最大婚約数…
511 名前: ◆QZaw55cn4c mailto:sage [2010/07/05(月) 18:29:52 ] >>501 codepad.org/GosjtHA7
512 名前:デフォルトの名無しさん mailto:age [2010/07/05(月) 20:24:06 ] >>507 問題文の 確率指定 p って何?>
513 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:28:32 ] あれだけISOの標準スタイルについて述べられていたのに未だに int main() 笑 の奴がいるとかw
514 名前: ◆QZaw55cn4c mailto:sage [2010/07/05(月) 20:28:45 ] >>457 >>505 codepad.org/7YlltRQG
515 名前: ◆QZaw55cn4c mailto:sage [2010/07/05(月) 20:34:19 ] >>513 pc12.2ch.net/test/read.cgi/tech/1269438098/101 で述べられ済み。 ISO/IEC 9899TC2 6.7.5.3 Function declarators (including prototypes) 14 An identifier list declares only the identifiers of the parameters of the function. An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters. とあり、関数の定義のときには、空のリストは no parameters である。 すなわち引数が void の場合と等価であり、int main() は int main(void) と同じ。
516 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:36:40 ] >>513 void main()でも別に構わんぞ コンパイル通ればいいんだよ
517 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:45:25 ] >>516 これには異論があり。 個人的には、int main() でコンパイルできる環境で、main() が引数をかえさない、という main() 側の都合で void main() と宣言するのには疑問がある。
518 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:51:48 ] ま〜たこの話題かw ちょっと前にもどっかのスレで泥沼化してただろう? だれか過去ログはっておやり。
519 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:53:34 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): 四則演算と平方根を求める事が出来る電卓プログラムを作成せよ. [3] 環境 [3.1] OS: Windows xp [3.2] コンパイラ名とバージョン:visual C++ 2008 [3.3] 言語: C++ [4] 期限: 2010年7月7日22:00頃まで [5] その他の制限: 数学関数等は利用不可,関数ライブラリは標準入出力ライブラリ stdio.h のみを利用可 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10781.txt math.h等の利用が出来ないため平方根はニュートン法により求めるプログラムを使用したいと思っています. URLに記載した二つのプログラムを組み合わせて上記の条件を満たすような電卓プログラムを作りたいのですが, 私なりに見よう見まねで組み合わせて見たのですが,知識が足りず平方根を求める動作が働きません. 根本的に間違っている可能性もありますが,どなたか修正点を教えて頂けると幸いです. よろしくお願いいたします.
520 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:55:25 ] あのな、isoだかなんだか知らんが、そんなもんただの標準だろ。 守らなきゃいけないルールじゃない。 単にコンパイラやソースが標準に沿っていますということを表明できるだけの意味しかないんだよ。 この世にはmainが存在しないプログラムをCで書くケースだって腐るほどあるし、 エントリ関数がWinMain()になっている世界で最も普及したコンパイラだってあるんだぞ。
521 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:58:04 ] >>518 このスレの先々代(135)、3月〜4月にかけて宿題が欠乏し宿題解き人が暇になったために泥沼化した。 結論としては、規格の上では void main() も int main() も合法だったかと。
522 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 21:01:57 ] >>521 情報トンクス! ていうかこのスレだったかw
523 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 21:30:58 ] [1] 授業単元: Visual Studio 入門 [2] 問題文 3問ほどあるのでリンクを kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10782.txt [3] 環境 [3.1] OS:Windowsvista [3.2] Microsoft Visual Studio 2008 [3.3] 言語:c言語 [4] 期限:なし [5] 制限:なし 問題が多いのですがひとつお助けください
524 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:14:53 ] >>523 gccでの確認になりますが。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10784.txt
525 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:23:17 ] x(1)、 x(2)、・・・とaは2000次元ベクトルとします。 N Σ || x(n)-a || / N || ・|| はノルム。 を高速に計算する方法わかりますか。
526 名前: ◆QZaw55cn4c mailto:sage [2010/07/05(月) 22:30:05 ] >>523 codepad.org/QpeyhPJI codepad.org/zWPlVycN codepad.org/ysQFpPnA
527 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:32:14 ] X=(x, y) Y=(z, w) A=(a ,b) とすると、 ||X-A|| + ||Y-A|| = SQRT( (x-a)^2 + (y-b)^2 ) + SQRT( (z-a)^2 + (w-b)^2 ) を高速で計算したいという訳なんです。 2000次元だと、かけ算とSQRTが相当あって時間掛かりますが。 短縮する方法ありますか。
528 名前:527 mailto:sage [2010/07/05(月) 22:35:42 ] 面倒なので、 ||X-A|| = |x-a| + |y-b| と定義してしまうか。 すると、 |x-a| + |y-b| + |z-a| + |w-b| を求めるだけで簡単。
529 名前: ◆QZaw55cn4c mailto:sage [2010/07/05(月) 23:23:14 ] >>519 codepad.org/LQ8UIyYT キー入力の具合はこれでいいですか?
530 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:24:23 ] ◆QZaw55cn4c はもりもりがんばってるなぁ。 定期的に叩かれるみたいだけどがんばれ。
531 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:29:13 ] やってることは怠け者の成績を上げてやることだけどなw
532 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:31:38 ] >>530 叩いてもらえる、というのは、コードをみてくださっている、というありがたい反応ですから、ウェルカムです。 ちょっと前の、あいかわらず頭の変な奴にかかわってしまったのは失敗ですが、スルーすることにしました。 でも今日はおやすみなさいです。
533 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:51:43 ] >>532 じゃあたまにのぞいて気になるとこあったらレスすることにするよ。 っても地力ぼちぼちありそうに見えるんで、重箱の隅ぐらいしか突っ込めないかも。
534 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:53:45 ] [1] 授業単元: Visual Studio 入門 [2] 問題 半乱順列の関数作成 [3] 環境 指定なし [3.1] OS:Windowsvista [3.3] 言語:c言語 [4] 期限:なし [5] 制限:なし 半乱順列の関数を作ってください!お願いします!!
535 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:54:08 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク):data.txtに書かれている氏名と成績を読み込み、氏名を2次元配列、成績を1次元配列に格納せよ。 [3] 環境 [3.1] OS:Ubuntu 10.4 [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限:7/7まで [5] その他の制限: data.txtの中身は aoyama 36 oomura 42 sugiyama 50 morita 14 となっております。
536 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 00:06:46 ] >>535 >>476 は読み込んだあとソートしていますが、そのソート部分を削ればご所望のコードになるかと。
537 名前:535 mailto:sage [2010/07/06(火) 00:18:01 ] >>536 似た問題があったのですね。ありがとうございました。
538 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:11:53 ] >>529 お答え頂きありがとうございます。 動作は申し分無いのですがこのプログラムだとstdio.h以外にmath.h等の関数ライブラリが見られます。 すみませんがstdio .h のみで動作することを前提でお願いしたいと思います。 また、授業では本当に基礎的な内容のみしか扱っておらず、ネットや本を見て勉強している段階ですので、なるべく基本的な分かりやすい形でプログラムを組んでいただけたら幸いです。
539 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:15:25 ] このとき、穏やかな表情の>>529 の脳裏に、 慇懃無礼、という言葉が頭をよぎったという。
540 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:17:37 ] >>538 せっかく答えてくれた人に喧嘩売るのはやめようね
541 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:48:46 ] >>538 ソースよく読めよ
542 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:53:32 ] はいはい、もう答えなくて結構です
543 名前:デフォルトの名無しさん [2010/07/06(火) 17:44:44 ] int main() 笑 なんて使う奴はスルーしてヨシ!
544 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 18:04:56 ] 538です。 せっかく解答をして下さったにも関わらず、不快感を与える表現をしてしまいすみませんでした。 if 0とend ifの意味を理解していませんでした。 こちらの理解不足で本当に失礼しました。
545 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 18:17:15 ] ◆QZaw55cn4c は古い人間でしょ?コードの書き方でバレバレ
546 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 18:26:10 ] >>545 どの辺が古いの?
547 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 18:54:59 ] >>546 無理しないで良いよ、爺ちゃん。
548 名前:デフォルトの名無しさん [2010/07/06(火) 19:01:50 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): #include <stdio.h>typedef struct { char *fname, *mname, *lname; int byear, dyear; } writer_t; writer_t writers[] = { {"Edward", "Elmer", "Smith", 1890, 1965}, {"Robert", "Anson", "Heinlein", 1907, 1988}, {"Arthur", "Charles", "Clarke", 1917, 2008}, {"Isaac", " ", "Asimov", 1920, 1992}, {"Raymond", "Douglas", "Bradbury", 1920, 0}}; int main(void){ int i; char s[10]; for (i = 0 ; i < sizeof(writers)/sizeof(writer_t) ; i++){ printf("%c. ", writers[i].fname); if (writers[i].mname[0] != "\0") { printf("%c. %-10s", writers[i].mname[0], writers[i].lname); } else { printf("%-13s", writers[i].lname); } printf("%4s - ", writers[i].byear); if (dyear > 0){ printf("%4s", writers[i].dyear); } printf("\n"); } return 0;} 上記のエラープログラムを正しく直す。 [3] 環境 [3.1] OS: UNIX [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: ([2010年7月28日20:00まで [5] その他の制限: なるべく簡潔に(新しい変数を定義したり)お願いします。見づらいですが改行が多いと怒られるので・・
549 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:09:55 ] お・に・い・ちゃ・ん、じゃなくて、お・じ・い・ちゃ・ん ♥
550 名前: ◆QZaw55cn4c mailto:sage [2010/07/06(火) 19:11:24 ] >>538 #if 0 から #endif までの間を削除してください。 わかりやすさについては、これが限界です。
551 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:12:43 ] >>543 pc12.2ch.net/test/read.cgi/tech/1269438098/101 で述べられ済み。 ISO/IEC 9899TC2 6.7.5.3 Function declarators (including prototypes) 14 An identifier list declares only the identifiers of the parameters of the function. An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters. とあり、関数の定義のときには、空のリストは no parameters である。 すなわち引数が void の場合と等価であり、int main() は int main(void) と同じ。
552 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:15:17 ] >>545 確かに古いといわれたらそうかもしれません。 func(a, b) int a; char *b; { ... return 0; } と書いていたころもありました。 setq とか car とか cdr とかを乱発していたこともあります。
553 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:17:21 ] >>494 お前がコテハンかトリップつけろ塵
554 名前: ◆QZaw55cn4c mailto:sage [2010/07/06(火) 19:18:17 ] >>544 いえいえ、全然。
555 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:22:15 ] >>553-554 コテハン付けたり、外したり大変だなw
556 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:24:57 ] >>555 専用ブラウザを使っていますから、簡単ですよ。
557 名前:デフォルトの名無しさん [2010/07/06(火) 19:31:06 ] >>547 >setq とか car とか cdr とかを乱発していたこともあります。 横レスだけど、そのネタはww [H|T] -> とか言い出さないようにw>>552 まあ、コード書けない煽りは無視で行きましょう。
558 名前: ◆GmgU93SCyE mailto:sage [2010/07/06(火) 19:34:15 ] >>548 codepad.org/Wng6j1dW
559 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:35:47 ] >>552 その頃は return (0); と書いてたりしないか?
560 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:37:06 ] >>557 処理系をCで書く、という解説本を集めているんです。でも、いまんところ2冊しかみつかっていません。 やっぱり、そんな本は売れないんですかね。おもしろいんですけれどね。
561 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:38:44 ] >>559 しまった!
562 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:39:30 ] >>560 訳されてない本が沢山あるよ
563 名前:デフォルトの名無しさん [2010/07/06(火) 19:51:18 ] >>560 ,562 Cに限らず、技術資料とかサンプルは英語の方が多いよね。 Google codeもよく使ったなあ。
564 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:51:18 ] お爺ちゃんお口くちゃ〜い、クソースなんて書くなよw
565 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:53:06 ] >>562 洋書まではあさる実力がない‥‥‥。でもながめてみたいもの。 著者名でよければ教えてください。
566 名前:デフォルトの名無しさん [2010/07/06(火) 20:06:48 ] >>558 ありがとうございました〜
567 名前:523 mailto:sage [2010/07/06(火) 20:42:03 ] >>526 >>524 回答ありがとうございます。 まさか一日かからずに終わらせてくれるとは思いませんでした。
568 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:09:00 ] C言語と関係無いじゃん。 OSやコンパイラを作るって事だろ。
569 名前:デフォルトの名無しさん [2010/07/06(火) 22:11:38 ] コインの種類(例えば、1円、5円、8円、10円、15円)に対して、金額を入力すると その金額を払うのに最も枚数が少なくて済むコインの出し方を出力してくれる プログラム。 例えば、23円と入力すると、「10円1枚・8円1枚・5円1枚の計3枚」と出力できるプログラムです。 ただし、「10円2枚・1円3枚の計5枚」は「最小」ではないため、上の出力を優先します。 入力された金額が負の場合は、「Error」を出力するようにします。 そこで、下のようなプログラムを書いたのですが、うまく起動しません。 このプログラムを、上の出力例のように出力してくれるように書きなおしてくれませんか?? 下のプログラムでは合計枚数を出力する部分しか書いてません。 ちなみに、再帰を使ってプログラミングお願いします。
570 名前:デフォルトの名無しさん [2010/07/06(火) 22:14:36 ] 569質問者のプログラム(続き) #include<stdio.h> int coinfunc(int *C, int k, int M){ /* *C・・・コインの種類の配列(小さい順にソートされているとする) M・・・支払う金額/ k・・・コインの種類の数 */ if(M == 0){ return(0); } else if(M < 0){ return(Error); } else{ int min = 100000; int i; for(i = 0; i <= k - 1; i++){ int tmp = coinfunc(C, k, M - C[i]); if(tmp < min){ min = tmp; } } return(min + 1); } } int main(){ int C[5] = {1,5,8,10,15}; int k = 5; int M; printf("支払う金額M="); scanf("%d",&M); printf("%d\n",coinfunc(C, k, M)); }
571 名前: ◆QZaw55cn4c mailto:sage [2010/07/06(火) 22:36:25 ] >>506 codepad.org/dYsw25Et 許容範囲云々は考えていません。
572 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:38:55 ] 明日までにある宿題あるんですけど頼めますかね? すぐ貼ります
573 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:40:44 ] 頼めます
574 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:42:55 ] >>572 ここまでは作った #include<stdio.h> int main(void) { return 0; }
575 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:54:22 ] [1] 授業単元:プログラミング演習 [2] 問題文:このプログラムを拡張して、個人ごと平均点と科目ごとの平均点を小数点以下1桁まで 表示できるプログラムを作成せよ。 #include <stdio.h> main() { int score[4][3]: int total[4]: int i , j ; for (i = 0; i < 4; i++) { total[i] = 0 ; printf("No . %d\n" , i + 1); for( j = 0 ; j < 3; j++) { printf("score %d : " , j + 1) ; scanf("%d", &score[i][j]); total[i] += score[i][j]; } } printf("\n"); printf("No . | s1 s2 s3 | total\n"); printf("---+----------+------\n"); for ( i = 0; i < 4; i++) { printf("%2d | " , i + 1) ; for( j = 0; j < 3; j++) { printf("%3d " , score[i][j]); } printf("| %4d\n" , total[i]) ; } }
576 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:56:36 ] 連投すみません [3]環境 Windows、VC6.0、C [4]期限 7月7日 [5]配列まで よろしくお願いします。
577 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:36:32 ] >>570 再帰は駄目だな、100円でいっぱいいっぱいだw #include<stdio.h> #include <limits.h> int coinfunc(int *c, int k, int m) { int i, tmp, min = INT_MAX; if (m == 0) return 0; else if (m < 0) return -1; for (i = 0; i < k; i++) { tmp = coinfunc(c, k, m - c[i]); if (tmp < 0) continue; else if (tmp < min) min = tmp; } return min + 1; } int main(void) { int m, c[] = {1, 5, 8, 10, 15}; while (scanf("%d", &m) != 1) scanf("%*[^\n]"); printf("%d\n", coinfunc(c, sizeof(c)/sizeof(*c), m)); return 0; }