- 1 名前:デフォルトの名無しさん [2012/01/04(水) 23:04:36.09 ]
- あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。
【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 >>2以降にあります。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
- 460 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 12:35:34.05 ]
- >>442
佐藤くん、これ難しいわ 今日の午前中使ってやったけど、解けない。 明日また頑張ってみる 期待せずに待ってて&自分でもちょっとは解こうとして見ろよ
- 461 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:03:31.95 ]
- >>460
建設業界なんかで、Prologを使って解いてきた問題でしょ。試行錯誤のルーチンが 必要で結構大変。
- 462 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:12:09.03 ]
- >>450
バーローこんなデータがあるならあるっていいやがれ。 07402,"96927","9692701","フクシマケン","ヤマグンキタシオバラムラ", "ヒバラ(アキモト、アラスナサワヤマ、ウラバンダイ、オオブダイラ、オノガワ、オノガワハラ、ケンガミネ、コタカモリ、", "福島県","耶麻郡北塩原村", "檜原(秋元、荒砂沢山、裏磐梯、大府平、小野川、小野川原、剣ケ峯、狐鷹森、", 1,1,0,0,0,0
- 463 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:16:40.57 ]
- >>461
どんな状況でこの問題を解く必要性に迫られたの? 後学のために知りたい。
- 464 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:35:15.90 ]
- >>463
たたみの敷き方?
- 465 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:45:05.18 ]
- >>464
ロシア企業が使ってるシステムで、なめし革(1枚ごとに革の大きさ、形が違う)からブーツのパーツを出来るだけ多く切り出す奴とか有ったな。
- 466 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:49:14.43 ]
- >>463
障碍物があるという前提が違うけど、塗装ロボットの走路を矩形に小分割した 走行計画のプログラムはINAP(Prologの産業応用シンポジウム)で見たことが ある。それは実務で使っていると聞いた。
- 467 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:56:44.62 ]
- >>463
ユーザが見ることのできる簡単な事例では、積水ハウスの間取りシステムもこの類だろう。 この場合は空間分割は単純でもアイテムに属性があるから、最終的には恐ろしく複雑だけど。
- 468 名前:387 mailto:sage [2012/01/20(金) 14:38:15.82 ]
- >>452
ありがとうございます! 完璧です。本当に助かりました。
- 469 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 15:15:18.33 ]
- スレ痴って病気なのか?
- 470 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 15:31:49.22 ]
- >>468,387
すまん、>>452はバグが有ったので、こちらで。 ideone.com/Le6dz
- 471 名前:デフォルトの名無しさん [2012/01/20(金) 16:43:29.33 ]
- [1] C言語
[2] 問題文(含コード&リンク):自分でプログラムをつくる [3] 環境 [3.1] OS: Windows7 [3.2] コンパイラ名とバージョン: gcc-4 [3.3] 言語: c言語 [4] 期限: 2012年1月22日まで グリコゲームを作ろうとおもったのですが、 じゃんけんの無限ループが終わりません。 間違っているところ、改善した方がいいところなど いろいろ教えてほしいです プログラムと結果を↓に載せています codepad.org/gc7tvNIp
- 472 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 16:45:49.77 ]
- >471
まず関数使えよ
- 473 名前:デフォルトの名無しさん [2012/01/20(金) 16:55:23.32 ]
- >>472
自作関数も以前、課題で出されたのですが 理解できなかったので、これで押し切ろうと思いました。
- 474 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:03:26.72 ]
- 指摘してくれって書いてあるのに理解できんって・・・
- 475 名前:460 mailto:sage [2012/01/20(金) 17:46:17.48 ]
- 知らない業界の話を聞けて参考になったし面白かった。
ありがと。 >>442 なんとかそれっぽく動くよ 暫定版だけどどうぞ。 codepad.org/sRgESwZB 週末にもうちょっと賢くして見るけど、駄目だったら投稿しません。
- 476 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:36:38.87 ]
- >>471
うごいてんじゃん
- 477 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:50:16.49 ]
- >>475
おつおつ。 コードも何も見てないけど、ナップサック問題の領域になってくると思うので、完全な回答は難しいかもよ。 >>442の先生もわかってると思う
- 478 名前:475 mailto:sage [2012/01/20(金) 19:08:36.69 ]
- bug, bugです。
debugも何もせずに書いたら大変なことになりました。 ろくすっぽ動かない奴でした。 put_on_field()の中の判定部分をうまく修正すれば。。。 現在のbugは、右下方向に既に箱を置いていた場合でも、 なんの検証もせずに置けると判断してしまう点。 最低でもここのbugを潰して土日のうちに再投稿するよ。。。 ごめんねー
- 479 名前:475 mailto:sage [2012/01/20(金) 19:15:57.11 ]
- debugはしていませんが、
簡単にdebugできるように、箱の配置の仕方を表示する関数を用意しました。 ideone.com/glhcn 佐藤くんも↑使ってdebug助けてよー 修正箇所はput_on_field()内の // can i put on box ? if( i + box->size_x < field_x && j + box->size_y < field_y){ この部分だからさー
- 480 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:18:10.51 ]
- 本当に度々でごめんなさい
130行目を num = i; の様に修正してちょ。
- 481 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:52:18.56 ]
- >>455
できればお願いします。 無理そうならできる範囲でお願いします。
- 482 名前:475 mailto:sage [2012/01/20(金) 19:59:39.65 ]
- とりあえずbugは潰しておいた。
ideone.com/AGrLl 配置の仕方を賢くするかは週末考えて、 うまく言ったら書き込む。 ↑で及第点はもらえるはずだから、とりあえず安心して
- 483 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 20:09:29.91 ]
- [1] 授業単元:C言語の活用
[2] 問題文(含コード&リンク): www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=5079 [3] 環境 [3.1] OS: Vista [3.2] コンパイラ名とバージョン: visual stadio 2010 [3.3] 言語:C言語 [4] 期限: 2012年01月25日19:00まで [5] その他の制限: 提出するときに自分で解説しないといけないので できるだけ簡単におねがいします. プログラム中に解説があると助かります.
- 484 名前:デフォルトの名無しさん [2012/01/20(金) 20:19:31.52 ]
- >>476
じゃんけんの無限ループから抜け出せないんです><
- 485 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 20:21:20.58 ]
- >>482
bl[i].size_x = 50; bl[i].size_y = 50; にしたら1個しか置かないし bl[i].size_x = 11; bl[i].size_y = 11; にしたら82個置けてしまうぞ
- 486 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 20:46:44.18 ]
- >>484
まさかと思うが、ジャンケンの手を全角で入力してる?
- 487 名前:デフォルトの名無しさん [2012/01/20(金) 21:12:05.16 ]
- >>486
日本語のところ以外はすべて半角で打ち込みました
- 488 名前:デフォルトの名無しさん [2012/01/20(金) 21:15:35.54 ]
- [2] 問題文(含コード&リンク): 構造体
ある人の生まれた年,生まれた月をそれぞれ構造体で内部的に表現する. 2人分のデータを入力した後,2人の年令の差(年,月まで)を 計算して以下のような結果を示すプログラムを作成する. 実行例 ----------------------------------------------------- [1] Aさんのデータを入力 [2] Bさんのデータを入力 [3] 結果表示 [9] 終了 ----------------------------------------------------- #コマンドを入力して下さい:1 Aさんの生れた年は?:1967 Aさんの生れた月は?:8 #コマンドを入力して下さい:3 まだBさんのデータが入力されていません! #コマンドを入力して下さい:2 Bさんの生れた年は?:1987 Bさんの生れた月は?:10 #コマンドを入力して下さい:3 Aさんは 20年と2ヶ月 Bさんより年上です. #コマンドを入力して下さい:9 留意点 ・メニュー形式で実装. ・関数化を行うこと. main 関数のみのプログラムは不可とします. [3.3] 言語: c言語 [4] 期限: 1月22日 よろしくお願いします
- 489 名前: ◆QZaw55cn4c mailto:sage [2012/01/20(金) 21:44:52.21 ]
- >>458
賛同しかねます
- 490 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 21:54:01.22 ]
- >>487
実行時の話かと
- 491 名前:475 mailto:sage [2012/01/20(金) 21:55:36.58 ]
- >>485
bug出しありがちょ bl[i].size_x = 50; は、 187, 188 を以下のようにすればいいよん if( i + box->size_x <= field_x && j + box->size_y <= field_y) { = を付け加えるだけ bl[i].size_x = 11; は、bugじゃなかったよ。 > 置ける箱の数は最大で 82 個 > 結局置けた箱の数は 81 個で って言ってたよ 82個っていうのは面積でのみ考えた場合の最大個数なんで。 絞込みを簡単に&計算を速くするために用意しておいただけなんで。
- 492 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 22:21:43.78 ]
- >>491
そりゃ失礼
- 493 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 22:23:30.45 ]
- [1] 授業単元:画像処理
[2] 問題文(含コード&リンク):s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/img/307.txt [3] 環境 [3.1] OS: Windows Vista [3.2] gcc [3.3] 言語: C [4] 期限: 1月23日 宜しくお願い致します。
- 494 名前:475 mailto:sage [2012/01/20(金) 22:41:43.18 ]
- ideone.com/zGSVQ
現在の↑の版はbugも無いし、ちょっとだけ賢くなったので 私は手を引きます。 この版では、available_places変数は置ける場所の数を格納しています。 置ける場所が少なければ少ないほど、早めに置いておく必要があるし、 置ける場所の多ければ多いほど、後に置けばいいので、 cmp_available_places()内では、 置ける場所が多い < 置ける場所が少ない として数の大小を逆にして比較関数を作成しています。 srand()とした場合に私の乱数では以下のような箱を生成します。
- 495 名前:475 mailto:sage [2012/01/20(金) 22:43:58.32 ]
- 現在はこいつらを20個置けるのですが、
こいつらを21個以上置けるようになりましたら教えて下さい。 私も勉強させて欲しいです。 置ける箱の数は最大で 25 個 置ける箱の一覧 bl[i](size_x, size_y, S, x, y) bl[0](4, 20, 80, -1, -1) bl[1](30, 3, 90, -1, -1) bl[2](94, 1, 94, -1, -1) bl[3](68, 2, 136, -1, -1) bl[4](9, 16, 144, -1, -1) bl[5](6, 26, 156, -1, -1) bl[6](2, 81, 162, -1, -1) bl[7](4, 52, 208, -1, -1) bl[8](37, 6, 222, -1, -1) bl[9](10, 28, 280, -1, -1) bl[10](98, 3, 294, -1, -1) bl[11](25, 15, 375, -1, -1) bl[12](14, 27, 378, -1, -1) bl[13](22, 20, 440, -1, -1) bl[14](20, 25, 500, -1, -1) bl[15](12, 43, 516, -1, -1) bl[16](40, 13, 520, -1, -1) bl[17](44, 12, 528, -1, -1) bl[18](19, 29, 551, -1, -1) bl[19](32, 18, 576, -1, -1) bl[20](7, 84, 588, -1, -1) bl[21](76, 8, 608, -1, -1) bl[22](88, 9, 792, -1, -1) bl[23](14, 58, 812, -1, -1) bl[24](12, 69, 828, -1, -1)
- 496 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 23:19:57.45 ]
- あ
- 497 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 23:43:23.44 ]
- >>490
実行時も半角です
- 498 名前:442 mailto:sage [2012/01/20(金) 23:58:58.14 ]
- >>494
ありがとうございます!ほんとうにありがとうございます! この土日でいっしょうけんめい読み込んで理解してみせます!
- 499 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 00:04:19.78 ]
- >>494
コードを見ずにレスしててすまんが、小さい箱のサイズはばらばらにしてるんだよね
- 500 名前:499 mailto:sage [2012/01/21(土) 00:05:24.62 ]
- ああ、なってそうだったごめん。
- 501 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 01:16:56.46 ]
-
Sequence-pair - Wikipedia 技術的背景 集積回路設計の一工程である配置計画では、回路として実現するために必要な様々なモジュールを、シリコン基板上にどのように配置するかを検討する。 「集積回路を出来るだけ小さく設計する」という要求は、配置計画において「モジュールを互いに重なることなく、出来るだけ小さい矩形領域内に配置する」という要求に置き換えられる。 隙間無く配置する作業はモジュールが数個から十数個程度であればまるでパズルのようだが、これが数百、数千、それ以上となると、とても人間が手に負える規模ではないことが明らかだろう。 このような理由から、「モジュールを互いに重なることなく、出来るだけ小さい矩形領域内に配置せよ」という要求はフロアプラン問題と呼ばれ、 1980年代になると集積回路設計の自動化に取り組む内外の研究者の格好の研究対象となった。 フロアプラン問題はモジュールの形状を矩形に限定すると、大きさの異なる矩形をできるだけ隙間無く詰め込む問題となる。 この問題は矩形パッキング問題と呼ばれ、NP困難であり[1]、多項式時間で最適解を得る方法は知られていない。 ブロックの数が増えれば増えるほど配置のバリエーションが爆発的に増えていくため、問題解決のために配置の全バリエーションを探索するのは非現実的である。 切出し・詰込み問題に対する実用的解法 切出し・詰込み問題は,いくつかの図形を互いに重ならないように与えられた領域内に配置する問題であり,多くの分野に応用を持つ最適化問題である. この問題は,長方形詰込み問題,円詰込み問題,コンテナ詰込み問題,多角形詰込み問題など図形の次元や形状によりさまざまなバリエーションを持つ. 切出し・詰込み問題のバリエーションの多くは NP 困難のクラスに属する組合せ最適化問題であり,実用的な規模の問題例に対して厳密な最適解を求めることは非常に困難である. 本稿では,さまざまな形状や大きさの多角形を長方形の容器に詰め込む多角形詰込み問題を取り上げて代表的な近似解法を紹介する. www6.ocn.ne.jp/~seisan/612/612-56.pdf
- 502 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 01:22:06.74 ]
- そこで遺伝的アルゴリズムの出番ですよ
- 503 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:22:38.87 ]
- >>501
思考停止の人だ
- 504 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 04:15:37.45 ]
- 完全解でなく回答速度、回答精度で課題の得点を決めるやつなのでは。速く正確な方がいいってやつ。
- 505 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 06:07:33.34 ]
- NP困難を持ち出してどうすんだっていう。
- 506 名前:デフォルトの名無しさん [2012/01/21(土) 19:02:20.22 ]
- [1] 授業単元:アルゴリズムとC言語
[2] 問題文(含コード&リンク): 複数の単語を二次元の文字型配列w[20][10](20単語×(9文字+1))に入力し、一つの英文に合成して出力するプログラムを作りなさい。 ただし以下の仕様を満たすものとする。 ・単語の入力を終了する場合は"END"を入力すること。 ・一つの英文に合成するときは、単語間に空白を入れること。 ・単語入力、英文合成は、それぞれtango、gouseiというサブプログラムを用いること ・ 文字列操作関数strcpy、strcat、strcmpを用いること。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2012年1月25日23:59まで よろしくお願い致します。
- 507 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 21:38:58.70 ]
- >>506
strcmpが必要な箇所がないように見えるが・・・使いたきゃ使えってだけか?
- 508 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 21:57:52.57 ]
- ENDを入力して単語入力を終了するとき必要じゃね?
- 509 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:51:08.73 ]
- >>506
ideone.com/CC4BG
- 510 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:51:18.62 ]
- >>506
ttp://codepad.org/Bf6XmEwO strcpy使ってないけど…だめですか?
- 511 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 23:01:49.55 ]
- >>510
main()のint i;消すの忘れてたわ
- 512 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 23:25:15.18 ]
- #include <stdio.h>
int main() 笑
|

|