- 1 名前:デフォルトの名無しさん [2008/02/04(月) 23:32:19 ]
- あなたが解けない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++の宿題を片付けます 103代目 pc11.2ch.net/test/read.cgi/tech/1200318925/
- 710 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:06:38 ]
- あとファイルのフォーマットがわからないと
後出しでファイルの入出力の仕様追加が発生すると困りそうだな。
- 711 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:08:32 ]
- >>708
なんか俺もそう思うんだが、 >>704の1にはグラフデータを記憶する隣接リストの作成って書いてあるんだよな。 なんか余計分からなくなってきた…orz
- 712 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:15:52 ]
- >>709
もう少し詳しい課題の内容が分からないと教えられないかも
- 713 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:22:42 ]
- 実は元教官の俺が言うのもなんだが、
ワザと曖昧な出題をして学生がちゃんと仕様を確定する的確な質問をするか。 頓珍漢な答えを提出するか。 曖昧さの中から考えられるすべてのケースを想定して複数回答を提出するか というのを試したことがある。
- 714 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:32:57 ]
- >>713
>>704が出された正確な課題で、わざと曖昧な課題にしてあるのなら いくらでも作りようがあるけど、なんか単に課題が書ききれてないだけのような気が…。
- 715 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 13:17:43 ]
- このスレのことをよく知っていて、わざと曖昧に出題してるとか…
- 716 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 13:23:05 ]
- ちなみに713がどんな問題を出したのか気になる
- 717 名前:名無しです [2008/03/20(木) 13:47:10 ]
- たぶん>>708だと思います。
ファイルの入出力の仕様というのはfopenとかのことでしょうか? 「リスト構造」を基に「スタック」,「キュー」,およびグラフのデータ構造(隣接リスト等)を実現し, アルゴリズムに従い,グラフ上を探索し,得られた探索木を出力してもらうプログラムの作成と課題には 書いてあるのですが、これじゃ情報不足でしょうか? 至らぬ文章力ですいません orz
- 718 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 14:04:39 ]
- どこかに書いてあるなら、書いてあることすべて写して書き込めばいいのに
量が多いなら>>1のうpろだを使うとかして。
- 719 名前:名無しです [2008/03/20(木) 19:55:13 ]
- ファイル kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6158.txt
読み込むデータはこれを渡されました。
- 720 名前:名無しです [2008/03/20(木) 22:46:18 ]
- 期限で3月20日20:00と書きましたが解けるまでやらなきゃいけないので
ぜひご指導お願いします 何度も書き込んですいません orz
- 721 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 23:26:25 ]
- >>720
で、グラフの探索とのことですが、何を探索すればいいのでしょうか? 1: 2 3 4 5 10 とかあるのは、「ノード1 と隣接するのは、ノード2, 3, 4, 5, 10 である。」という意味でしょうか? そして、互いに一番遠い距離にあるノードの組を求めればいいのでしょうか? 何か情報をくださらないと、これだけでは私は解けないのです。
- 722 名前:名無しです [2008/03/21(金) 07:52:46 ]
- 1: 2 3 4 5 10とあるのは、「ノード1 と隣接するのは、ノード2, 3, 4, 5, 10 である。」
という意味です。 ファイル kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6159.txt 深さ優先探索を途中までやって間違っているやつを知り合いにもらいました。これを 書き直してわかりやすようにしてはもらえないでしょうか? お願いします
- 723 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 10:21:30 ]
- >>704
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6160.c ごり押しで作ってたら、かなり汚いソースになってしまった 初心者には難しいと思うから、ほとんど参考にはならないと思うけど だれもうpしてないので上げてきます
- 724 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 12:48:03 ]
- スレチなのを承知でお願いします。気に触ったら無視して下さい。
[1] 授業単元:C#の個人課題 [2] 問題文(含コード&リンク):VC#(VS2008C#)にてwindowsフォームアプリケーションにて WEBカメラ(USB)をプレビューするプログラムを書け。 [3] 環境 [3.1] OS: (WindowsXP) [3.2] コンパイラ名とバージョン:VC#2005or2008 [3.3] 言語: (C#) [4] 期限: [無期限] C#だけどやってもいいか。という方いらっしゃいましたらお願いします。
- 725 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 16:05:35 ]
- 内容が変じゃないか?ここ作成依頼スレじゃないぞ
ぶっちゃけ知りたいこと課題に偽装しただけにしかみえない
- 726 名前:名無しです [2008/03/21(金) 22:17:45 ]
- >>704作って頂きありがとうございます。
ですがすいませんわからないです orz >>722のやつを作り変えて簡単なプログラムを作れないでしょうか? 何度もお願いして悪いと思うのですがお願いします。
- 727 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 13:16:37 ]
- 未だに>>704の問題文が意味わからんのは俺だけ?
「ノード1 と隣接するのは、ノード2, 3, 4, 5, 10 である。」 これだけ求めたいのなら、ファイルから読み込んだデータを線形リストに格納して ノード番号の位置のデータを参照するだけで済むだろう。 スタック、キューなんて使う必要ないし使いどころがないよな。 >>721のいうように互いに一番遠い距離にあるノードの組を求めるとか、そんな問題ならわかるが。
- 728 名前:デフォルトの名無しさん [2008/03/22(土) 13:37:49 ]
- www.na.cse.nagoya-u.ac.jp/~reiji/lect/alg01/sec10-2.html
tnt.math.metro-u.ac.jp/labo/grad/2003/egu/adjoin_list.htm tnt.math.metro-u.ac.jp/labo/grad/2004/masa/graph/0.html
- 729 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 13:43:50 ]
- >>727
> 未だに>>704の問題文が意味わからんのは俺だけ? 本人も含めて誰もわかっていないのでは? >>704からは、実装方法に関する制限は読み取れるが、 結局どういう問題を解きたいのかが示されていない。
- 730 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 13:48:19 ]
- とりあえず混乱しすぎだぞ。おまいら。
・隣接リスト != リンクリスト, 連結リスト etc. ・動的確保しない連結リスト表現 struct Node { int num; int next; } nodes[20]; とでもして next は次のノードを指す添え字番号を指す。 例えば次の要素アクセスするなら nodes[nodes[i].next]。無効値は -1 とか。 C 使いなら普通ポインタ使うんでこんなことしないだろうが、アルゴリズムやデータ構造の教科書的にはたまにある表現だと思う。 ・「ノード1 と隣接するのは、ノード2, 3, 4, 5, 10 である。」はファイルフォーマットの説明。 ・「スタック、キューなんて使う必要ないし使いどころがないよな。」→幅優先探索と深さ優先探索で使うって書いてあるじゃん。 ・(とりあえずの)探索内容→グラフ上を探索し,得られた探索木を出力 つまり単純に辿るだけ。出力フォーマットはしらんが、とりあえずどういう風に探索したかを出力できればいいんだろ。 木というからにはちゃんと親子が分かるようにするべきっぽく、>722 もそんな感じだ。 ・グラフの連結成分分解って書いてあるからここは深さ優先を使うことになるはず。
- 731 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 13:52:04 ]
- まとめるとこういうことだろう。
・両方向環状リストの実装 ・上記を用いた、スタック、キュー、隣接リストの実装 ・上記を用いた、深さ優先探索、幅優先探索アルゴリズムの実装(出力は探索木) ・上記を用いた、グラフの連結成分分解の実装 これ、何回かに分けて出された課題をまとめてやろうとしてるんじゃないの?
- 732 名前:名無しです [2008/03/22(土) 15:01:51 ]
- 説明が下手でみなさんを混乱させてしまって本当に申し訳ありません。
>>731さんがまとめてることをしたいんです。こんなにわかりにくい説明で 理解してくださってありがとうございます。
- 733 名前:名無しです [2008/03/22(土) 19:43:43 ]
- >>731さんのを基にもう一度作ってもらうわけにはいかないでしょうか?
私が最初から>>731さんのように書けば良かったのですが、説明が下手なのと 理解力がないばかりに orz
- 734 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:56:13 ]
- >>733
双方向リングリストの実装のみ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6164.c
- 735 名前:733 mailto:sage [2008/03/23(日) 00:03:31 ]
- >>734
リングリストなのに double ended はねーよ orz
- 736 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 00:17:48 ]
- double circular linked list が正しい英語
- 737 名前:733 mailto:sage [2008/03/23(日) 00:21:49 ]
- >>734 はバグってた
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6165.c 訂正内容 次の行を追加 list->next->prev=ret;
- 738 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 06:55:06 ]
- >>733
>>737 を元にスタック実装して、グラフの連結成分分解を作ってみた 連結成分について考え方が間違ってたらすまん できるかぎり簡単にしたつもり kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6166.c
- 739 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 10:14:59 ]
- [1] 授業単元:プログラミング
[2] 問題文: 問1)次のコードの実行結果を答えなさい。 byte a = 3; System.out.println(a = 2); 問2)次のコードの実行結果を答えなさい。 short a = 3; System.out.println(a == 2); 問3)次のコードの実行結果を答えなさい。 int a = 0; if (a == 1) System.out.print("aの値:"); System.out.println(a); System.out.println("終了"); [3] 環境 [4] 期限:[無期限] [5] その他の制限: なし レベルが違うような質問で申し訳ありません・・。 スレ違いでしたらスルーでお願いします。
- 740 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 10:19:48 ]
- Javaの宿題スレにゴー
- 741 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 10:34:10 ]
- >>740
ご親切にありがとうございました。
- 742 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 17:05:36 ]
- なんだか和んだぞ。
- 743 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 19:59:02 ]
- ナゴナゴ
- 744 名前:名無しです [2008/03/23(日) 22:19:32 ]
- みなさん>>704を解いて頂きありがとうございました。
- 745 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 00:22:15 ]
- >>738
あぁ・・・ミスった memset(adj, 0, sizeof(adj)*NODENUM*NODENUM); を memset(adj, 0, sizeof(int)*NODENUM*NODENUM); に変えてね・・・
- 746 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 04:54:50 ]
- [1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6168.txt [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語:C言語 [4] 期限:2008年3月24日午前11時(できれば午前中で・・ 急なお願いですがよろしくお願いします。 [5] その他の制限:なし
- 747 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 06:15:00 ]
- 教官からどう指示されたのか不明だが、
フローチャートは矢印で繋ぐだけじゃ不十分だよ。
- 748 名前:746 mailto:sage [2008/03/24(月) 08:06:46 ]
- 矢印だけではダメなのはわかっています、確かに不十分ですよね
それ以外は自分でんはんとかしようと思っているので・・・ ここではそれしか表現できなくて
- 749 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 09:55:10 ]
- 丸投げするか自分で全部やるかどっちかにしろよこんな簡単なもの。
この程度の物は矢印をまともに全部書いたらほとんどそれで答えじゃねーか。
- 750 名前:746 mailto:sage [2008/03/24(月) 10:37:09 ]
- その程度すら分からないんです、スイマセン・・、丸投げでおねがいします。
- 751 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 10:55:48 ]
- もう時間ないが、処理の流れはわかっているようだから
ソースにくどいほどコメント書いて、それを適切な四角で括って 矢印で繋げばいいんじゃねーの。
- 752 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 12:35:40 ]
- ○開始
↓ ◇センスの有無 ↓あり ↓なし □合格処理□不合格処理 ↓←───┘ ○終了
- 753 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 13:24:28 ]
- [1] 授業単元:プログラミング
[2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6170.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:visual studio 2003 [3.3] 言語:C [4] 期限:3/27 よろしくお願いします。
- 754 名前:デフォルトの名無しさん [2008/03/24(月) 13:31:41 ]
- >>753
超初心者の宿題だろう 自分で出来ないのかよ
- 755 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 13:32:42 ]
- >>753
strcatとstrlen使っちゃ駄目ってのは面倒だね。 (1) #include<string.h> int mystrlen(char*p){ return strchr(p,0)-p; } (2) #include<string.h> int mystrcatlen(char*a,char*b){ return strchr(strcpy(strchr(a,0),b),0)-a; }
- 756 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 13:34:34 ]
- >>754
なんだと!テメこのやろー ここがどこだか分かってるのか? 戦闘アドレス なめんなよ
- 757 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 13:38:50 ]
- ああ、main部分も書くのか。じゃあこれを>>755の関数定義の下に付けといて。
(1) #include<stdio.h> int main(){ char p[100]; printf("文字列を入力してください -> "); scanf("%99s",p); printf("'%s'の長さは%dです\n",p,mystrlen(p)); } (2) #include<stdio.h> int main(){ char p[100],q[100]; printf("文字列を入力してください -> "); scanf("%99s",p); printf("文字列を入力してください -> "); scanf("%99s",q); printf("'%s'と'%s'を繋げると",p,q); printf("'%s'になり、長さは%dです\n",p,mystrcatlen(p,q)); }
- 758 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 14:15:04 ]
- >>757
助かりました。 ありがとうございます。
- 759 名前:名無しです [2008/03/24(月) 17:44:14 ]
- >>704なんですが>>738で解いてもらったやつでプログラムの動作チェックを行ったら,
コンパイルすると「int main(int argc, char **argv){ /*argv main関数に引数を渡す*/」 でエラーが出てしまいます. エラー表示は「'0x40'は認識できません」と「'0x81'は認識できません」の2つが出てしまいます. 後,幅優先探索と連結成分分解のプログラムは>>738には入ってないんでしょうか? 何度もレスしてすいません.どうかお力を貸してください.
- 760 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 17:46:39 ]
- コメント以外のところに全角スペースがあるんだろ
- 761 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:21:20 ]
- >>759
幅優先探索は入ってない 連結成分分解ってのが、つながってる点をまとめて表示することでないなら、 俺の連結成分の考えかたが間違ってる
- 762 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 00:00:16 ]
- >>759
連結成分分解は、>>738で問題ない? 問題ないなら、幅優先探索での連結成分分解も作るけど (キューの実装できれば深さ優先探索とほとんど処理変わらないから、 必要ないかもしれないけど)
- 763 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 02:17:34 ]
- ちょっと面白い問題考えたから、みんなで解いてみてくれ。
Python で作ったプログラムで N < 10 までは試したけど、 発展問題についてはまだやってない。 基本問題: 例えば N = 8 としたときに 「この文章には0が1個、1が5個、2が3個、3が2個、 4が1個、5が2個、6が1個、7が1個含まれています」 という文章が生成されるとして、9以下の任意の自然数Nについて もこのような文章を生成するプログラムを作れ。 解がない場合は「解なし」とする。 発展問題: Nが10以上の時、解はあるだろうか?
- 764 名前:デフォルトの名無しさん [2008/03/25(火) 02:30:37 ]
- 0から順に数えていき、値が更新されたら追加していけばいつか出来ると思うが
- 765 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 02:46:44 ]
- 基本問題がわからない
- 766 名前:デフォルトの名無しさん [2008/03/25(火) 02:50:48 ]
- >>765
文書中に現れる文字をカウントして正しい文書にする
- 767 名前:デフォルトの名無しさん [2008/03/25(火) 02:54:58 ]
- もし解があることがわかれば総当たりでやればいつか解けるので
いつでもとけるのかどうかを考えればよい
- 768 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 02:55:46 ]
- >>765
正しい自己言及文を生成する問題。 「」の中の数字の数と文章の内容を確認すれ。
- 769 名前:デフォルトの名無しさん [2008/03/25(火) 03:04:03 ]
- 0、1、・・・N-1と並べて、
0の個数をカウントしてそれを記録 次に1の個数をカウントして記録 もしその個数に0が現れれば0を更新 それにも1が現れれば1の個数を更新 ・・・・ 無限に値が更新される事はなく次へ進めるとは思う たとえば0が現れるのは桁上がりが現れるときだから(何度か更新を繰り返したとすると) 一度に0がいくつも増えなくては行けなくなりいつか停止すると思う
- 770 名前:デフォルトの名無しさん [2008/03/25(火) 03:07:45 ]
- 解ありをちゃんと説明してくれれば後は簡単なんだ だれか頼む
- 771 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 03:14:53 ]
- 「1が1個」
↓ (あ、1の数が変わった。更新しよう) ↓ 「1 が 2 個」 ↓ (あ、1の数が1個にもどった。更新しよう) ↓ 無限ループ。
- 772 名前:デフォルトの名無しさん [2008/03/25(火) 03:17:33 ]
- 解無しも有るのか・・・
- 773 名前:デフォルトの名無しさん [2008/03/25(火) 03:25:48 ]
- nがn個ってなったら駄目なんだな
そうなる所はカウントを保留しておき個数が変化するのを待ってカウントするか 簡単にはできそうにないね 巡回セールスマンと同じ種類では?
- 774 名前:871 mailto:sage [2008/03/25(火) 03:27:12 ]
- (さっき Python スレで突っ込まれた)
ちなみに、Nの意味はN以上の数が出てこないって解釈で。すると N=1 のときは解なし。 N=2 も解なし。 N=3 も解なし。 N=4 では 「0が1個、1が3個、2が1個、3が3個」 「0が1個、1が2個、2が3個、3が2個」 N=10 ってのは「"10"という部分文字列の数」という解釈にしようと思う。
- 775 名前:デフォルトの名無しさん [2008/03/25(火) 03:29:53 ]
- N=1は解あるだろ
0が1個じゃないの? 間違えている?
- 776 名前:デフォルトの名無しさん [2008/03/25(火) 03:31:13 ]
- N=2 0が1個、1が2個では? どこか間違えている?
- 777 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 03:31:36 ]
- N以上が現出するとダメらしい。
- 778 名前:871 mailto:sage [2008/03/25(火) 03:34:29 ]
- 「0が1個」
だと、0については言えてるけど、 1について言及が無いので美しくない(俺的に) できれば文章中に出てくる全ての数字について言及させたい。 だから <N 以上の数を使わない>てルールをつけたんだ。
- 779 名前:デフォルトの名無しさん [2008/03/25(火) 03:34:50 ]
- そしたら総当たりの有限時間では解判定は出来るんだな
その制限を外した場合は>>771のような無限ループは発生するのだろうか?
- 780 名前:デフォルトの名無しさん [2008/03/25(火) 03:44:13 ]
- N以上が現れない場合でも、簡単には求められないよな
試行錯誤か、全パターンを生成して文書チェックするかくらいで いずれにしても時間がかかる 例えばN=1000を一日以内に解くプログラムとかは作れないんじゃないか?
- 781 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 04:38:11 ]
- 0が1個、1が12個、2が3個、3が2個、4が1個、5が1個、6が1個、7が1個、8が1個、
9が1個、10が1個、11が1個、12が2個、13が1個、14が1個。
- 782 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 04:57:56 ]
- >>781
その文章中の0は2個ありそうだ。 例えば11という数字があった場合、1として2個で11として1個と数えるのか、 それとも11という塊になっている場合は1としてはカウントしないのか。
- 783 名前:デフォルトの名無しさん [2008/03/25(火) 04:59:50 ]
- 111は、1が3つ、11が2つ、111が1つ
ですよね
- 784 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 05:01:08 ]
- こういう問題の場合数えないのが普通だと思うけど。
- 785 名前:デフォルトの名無しさん [2008/03/25(火) 05:04:00 ]
- 異なるものがいくつあるのか正しく求めるのが正解のはずだ
783が正解
- 786 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 05:14:04 ]
- 数値の組み合わせ(順序数, 順序数と個数自身を含めた個数)について無矛盾にする問題とみなすか、
文章から得られる全ての部分文字列の集合内の数値に相当する要素の個数について無矛盾にする問題とみなすか。
- 787 名前:デフォルトの名無しさん [2008/03/25(火) 05:18:23 ]
- これはやる意味ないと思っている
巡回セールスマンと同じく多項式時間では解けないというやつと思う プログラム作るだけ時間の無駄と思っている
- 788 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 11:22:49 ]
- 0が2 1が8 2が3 3が3
4が1 5が1 6が1 7が1 8が2 9が1 10が1
- 789 名前:デフォルトの名無しさん [2008/03/25(火) 11:25:04 ]
- 一般Nで解けるソースはりつけてよ
- 790 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 11:53:54 ]
- const int N = <整数>
std::string S[N]; int count(int num){ int sum=0; std::string substr = <num の文字列表現> for(int i=0; i<N; ++i) { std::string i2s = i の文字列表現 sum += <文字列 i2s に含まれる substr の数> sum += <文字列 S[i] に含まれる substr の数>; } return sum; } int check(){ for (int i=0; i<N; ++i) { if (count(i) != <文字列S[i]の整数表現>) return; } printf("----\n"); for (int i=0; i<N; ++i) printf("%d が %s\n", i, S[i]); } void find(int depth) { if (depth < 0) { check(); return; } for (int i=0; i<N; ++i) { S[depth] = <i の文字列表現>; find(depth-1); } void main() { find(N-1); }
- 791 名前:名無しです [2008/03/25(火) 12:20:30 ]
- 流れを切って申し訳ありません
>>704の問題ですが >>738さんのでやると連結成分分解のプログラムの動作を確認できるんですけど,ずっと同じ出力結果なんです。 出力結果の数字が何を指しているのかわからないのでどのような意味なのか教えてもらえないでしょうか? 幅優先探索での連結成分分解もよくわからないので作っていただけないでしょうか? よろしくお願いします
- 792 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 13:42:01 ]
- >>789
間違ってるかもしれないし、厳密解でもない ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6174.c
- 793 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 15:38:35 ]
- 763って個数の合計はN*2に決まってるんだから
対数時間で計算出来そうにみえるけど ナップザック系とは関係なくないか
- 794 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 16:26:33 ]
- >>763
面白いな
- 795 名前:デフォルトの名無しさん [2008/03/25(火) 20:59:56 ]
- コード貼るならここがいいよ
ttp://codepad.org 実行結果までやってくれる
- 796 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 21:48:06 ]
- [1] 授業単元:プログラミング言語
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6176.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6177.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン:gcc 3.4 VC 6.0 [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限:明日の夜まで [5] その他の制限:ほとんど素人が手をつけ始めたくらいの知識しかないです。だから難しいことはしてないかも。 何問か課題を出されたのですがどうしてもこの2つが分かりません。よろしくお願いします。
- 797 名前:796 mailto:sage [2008/03/25(火) 21:49:55 ]
- 申し訳ありません。OSと言語のこと忘れてました。
OSはwindowsで言語はC言語です。
- 798 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 21:55:15 ]
- >>796
一問だけ解いてみた #include <stdio.h> int main(void){ int i, j; for(i=0;i<26;i++){ for(j=0;j<=i;j++) putchar('A'+i); for(;j<=26;j++) putchar('Z'-i); putchar('\n'); } return 0; }
- 799 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:01:47 ]
- >>763
やってみたけど問題としてはツマンナイ答えしかでないっぽいよ。 いいアルゴリズム探す気力なくなったの途中でやめました.. ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6178.c
- 800 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:08:22 ]
- >>799
対応しているのは N=10 まで?
- 801 名前:799 mailto:sage [2008/03/25(火) 22:10:25 ]
- 10行目まちがえた。適当でごめん
× if( c[ a[ i ] ] != 1 ) ○ if( c[ i ] != 1 )
- 802 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:13:38 ]
- 800
N=19ぐらいまで。それ以上でも正解は同じパターン一個っぽい。 (のでそれ以上追求するのやめました。)
- 803 名前:796 mailto:sage [2008/03/25(火) 22:16:38 ]
- >>798
ありがとうございます。putchar使えば良かったのですね。
- 804 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:18:17 ]
- >>802
N=11 のときに 0 と 1 の個数が違うんだが…
- 805 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:28:36 ]
- >>796
下の奴適当にやってみた 曜日を調べるのは「C言語 曜日」でぐぐって一番上の奴使った ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6179.txt
- 806 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:14:47 ]
- >>800のやつを貼付けてみた。
ttp://codepad.org/3hP8x4xd
- 807 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:32:13 ]
- >>791
全部のグラフで同じ出力結果になるってこと? 出力結果はただ単に、到達可能な点をまとめて{ }で囲んで表示してるだけ 出力結果が何を指しているのか分からないってことは、 >>738のプログラムがあってないってことなんで、幅優先探索は作れない
- 808 名前:デフォルトの名無しさん [2008/03/26(水) 10:24:33 ]
- >>796
1番目の問題の表示例は AZZZZZZZZZZZZZZZZZZZZZZZZZZ BBYYYYYYYYYYYYYYYYYYYYYYYYY CCCXXXXXXXXXXXXXXXXXXXXXXXX の間違いか? AZZZZZZZZZZZZZZZZZZZZZZZZZZZ BBYYYYYYYYYYYYYYYYYYYYYYYYYY CCCXXXXXXXXXXXXXXXXXXXXXXXXX だと26行目は ZZZZZZZZZZZZZZZZZZZZZZZZZZAA になってしまうぞ。
- 809 名前:デフォルトの名無しさん [2008/03/26(水) 20:37:58 ]
- [1] 授業単元: プログラミング演習
[2] 問題文:5人のテストの点数をキーボードから入力し、合計と平均を表せ。 [3] 環境 [3.1] OS: Windows・Linux/ [3.2] コンパイラ名とバージョン: [3.3] 言語: C [4] 期限: 明日まで 初期的な問題ですがお願いします。
- 810 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:55:18 ]
- >>809
#include<stdio.h> int main() { int i, test[5], sum = 0; for (i=0; i<5; i++) { printf("%d人目の点数を入力してください:", i+1); scanf("%d", &test[i]); sum += test[i]; } printf("合計:%d 平均:%f\n", sum, (double)sum / 5); }
|

|