- 1 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:43:17.22 ]
- あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。
【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 >>2以降にあります。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
- 449 名前: ◆QZaw55cn4c mailto:qzaw55cn4c@a.mail.ne.jp [2012/02/26(日) 17:37:33.57 ]
- >>146
toro.2ch.net/test/read.cgi/tech/1313183984/39
- 450 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 18:54:34.04 ]
- 質問させていただきます。PGを書く問題ではないのですが、
「ソートプログラムとデータ構造について 具体的なソートプログラムの名前をあげ、 とのようなデータ構造(配列、単方向リスト、双方向リスト、循環リストなど)が なぜ適しているか述べろ。 が分かりません!教えてください
- 451 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 18:56:59.72 ]
- >>450
スレチ wikipedia でも丸写ししとけ
- 452 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 20:38:16.02 ]
- >>451
のってないから聞いてます
- 453 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 20:40:58.08 ]
- 煽り方が単調
5点
- 454 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 20:46:40.98 ]
- >>450
スリープソート ソート対象を数値で表した時に値域が狭い場合に適する
- 455 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 20:52:29.34 ]
- >>450
シャッフルソート リストをシャッフル→ソートされているかをチェック の2段階からなる ものの論文によれば、リストが小さい時、 シャッフルソートはバブルソートよりも早く終わる確率が高い
- 456 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 22:03:29.62 ]
- >>449
単語カウントだけの用途だと、ハッシュ値が衝突するとハッシュを使う意味が無いが、 このプログラムはハッシュ値が衝突するんじゃないか?
- 457 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 22:13:02.00 ]
- QZな人だから許される。
- 458 名前: ◆QZaw55cn4c mailto:sage [2012/02/26(日) 22:31:06.27 ]
- >>456
チェインハッシュ法を採用しました。チェイン方法としては双方向線形リストを使い、この線形リストは頻度順になるようにデータ挿入ごとに並び替えを行っています。
- 459 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 03:53:09.24 ]
- プログラムの宿題で困ってる高校生いるから助けてやってくれ!!!
live.nicovideo.jp/watch/lv83151829 live.nicovideo.jp/watch/lv83151829 live.nicovideo.jp/watch/lv83151829 live.nicovideo.jp/watch/lv83151829 live.nicovideo.jp/watch/lv83151829
- 460 名前:デフォルトの名無しさん [2012/02/27(月) 17:06:47.43 ]
- [1] 授業単元: 情報処理
[2] 問題文(含コード&リンク): (1)2つのdouble型 変数 a,bをメンバとして持つ構造体 struct cmplxを作成せよ。 cmplexを複素数、a, bをそれぞれその実部と虚部と考え、 二つの複素数za, zbの積 を返す関数 struct cmplx cprod(struct cmplx za, struct cmplx zb)を作成せよ。 この関数を用いて二つの複素数 1 + 2i, 2+4iの積の結果を表示するプログラムを作成せよ。 (2) ideone.com/MkPVH 上のプログラムを参考にして。現在の時刻を “○時△分□秒”の形式で表示する関数 void put_time(void)を作成し、 それを用いて現在の時刻を表示するプログラムを作成せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:不明 [3.3] 言語: C [4] 期限:今日中 [5] その他の制限:特になし。 よろしくお願いします。
- 461 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 17:50:00.32 ]
- >>460
(2)の方 これをコピペ printf("%02d時%02d分%02d秒", local->tm_hour, local->tm_min, local->tm_sec);
- 462 名前:デフォルトの名無しさん [2012/02/27(月) 19:23:00.98 ]
- >>461
ありがとうございます。 ただ申し訳ないのですが、もう少し詳しく説明していただけると助かります。
- 463 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 19:39:36.42 ]
- >>462
直感による local->tm_year local->tm_mon local->tm_mday local->tm_wday これらのあとには、大抵、hour,min,secとかが続くから、 何も考えずに local->tm_ の後を書き換えればいい
- 464 名前:デフォルトの名無しさん [2012/02/27(月) 20:07:41.28 ]
- >>463
ありがとうございます。 書き換えて見たのですが、コンパイルに失敗し、 エラー E2141 en15-02.cpp 22: 宣言の構文エラー(関数 put_date() ) エラー E2139 en15-02.cpp 28: 宣言に ; がない(関数 put_date() ) エラー E2134 en15-02.cpp 28: 複合文に } がない(関数 put_date() ) 警告 W8004 en15-02.cpp 28: 'wday_name' に代入した値は使われていない(関数 put_date() ) *** 3 errors in Compile *** と表示されます。どういう意味なのかわからないので、どなたかわかる方はお教えください。
- 465 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 20:21:51.26 ]
- >>464
ttp://ideone.com/zRylO
- 466 名前:デフォルトの名無しさん [2012/02/27(月) 20:32:38.47 ]
- >>465
ありがとうございます。何が違ったのかちゃんと見てみます。 どなたかわかる方がいましたら>>460の(1)もお手数ですがよろしくお願いします。
- 467 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 20:51:33.65 ]
- >>466
ideone.com/zJjwv
- 468 名前:デフォルトの名無しさん [2012/02/27(月) 21:29:13.08 ]
- [2] 問題文(含コード&リンク):
ideone.com/d0Q1L 上ののプログラムを参考にして、unsigned型整数をビット表記した時の下から4ビット(20 から23の桁)を表示する関数 void print_4bits ( unsigned x) を作成せよ。 またこの関数を用いて、0から15までの整数を4ビットで表示するプログラムを作成せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: [3.3] 言語: C [4] 期限: 今日中 よろしくお願いします。
- 469 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 21:47:24.09 ]
- >>468
void print_4bits(unsigned x) { int i; for ( i = 3; i>=0; i--) putchar( ( (x >> i) & 1U) ? '1' : '0'); }
- 470 名前:デフォルトの名無しさん [2012/02/27(月) 22:00:17.24 ]
- >>469
ありがとうございました。
- 471 名前: ◆QZaw55cn4c mailto:qzaw55cn4c@a.mail.ne.jp [2012/02/27(月) 22:18:17.99 ]
- >>456
追記:確かに >>449 のハッシュ関数の実装は適当で性能は最悪でしょう。MD5/RFC1321 も一度は採用してはいたのですが、MD5 ルーチンの記述量が全体の5割以上になってしまうので、とりやめました。 宿題用途でお手軽に記述できてかつそこそこの性能を発揮するハッシュ関数としてはどんな実装になるのでしょうか?
- 472 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 22:50:08.22 ]
- なんかすごい難しいことやってるな
世間で流通してるハッシュ関数ならハッシュコードを使うのが普通とは思うけど、 宿題&単語カウントってキーワードから考えると、ハッシュは単なる辞書機能のことを指してて最初の提示例で十分じゃないかと思うのは自分だけ?
- 473 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 23:16:14.38 ]
- それは野暮ってもんだ
宿題やってほしい勢と、俺のプログラムを見ろ勢の利害が一致して成り立ってるスレだし
- 474 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 01:34:38.56 ]
- ハッシュ法で暗号学的ハッシュ関数……?
- 475 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 12:43:59.74 ]
- ま裁判官だったら一発で弾劾裁判されるタイプだろな
- 476 名前: ◆QZaw55cn4c mailto:sage [2012/02/28(火) 20:12:41.07 ]
- >>472
>最初の提示例 ん?どれ?
- 477 名前: ◆QZaw55cn4c mailto:qzaw55cn4c@a.mail.ne.jp [2012/02/29(水) 03:07:06.35 ]
- >>146
お手ごろなハッシュ関数(FNV Hash関数:www.isthe.com/chongo/tech/comp/fnv/index.html)をみつけましたので、それにさしかえました。 toro.2ch.net/test/read.cgi/tech/1313183984/43
- 478 名前:デフォルトの名無しさん [2012/03/01(木) 01:19:54.82 ]
- [1] 授業単元: プログラミング実習
[2] 問題文: 構造体の型の成績をqsortを用いて 点数を高いものから順に並び替えよ 動作例: student[1]:76 student[2]:65 student[3]:82 ・ ・ ------------------------ 成績順にソートしました。 ------------------------ student[3]:82 student[1]:76 student[2]:65 ・ ・ ・ [3] 環境 [3.1] OS:windows7 [3.2] コンパイラ名とバージョン:visual studio [3.3] 言語:C言語 [4] 期限:3月1日(今日)の18時30分まで [5] その他の制限: stdlibをインクルードし、qsortを使って解くこと。 「student」は必ず構造体を用いること。 できるだけ簡潔で分かりやすいプログラムを心がけること。 ソースコードは多くても70行以内に収めるのが望ましい。 お願いします。
- 479 名前:デフォルトの名無しさん [2012/03/01(木) 01:24:10.13 ]
- ちょっと訂正します。
動作例の上のほうのstudenは入力です。 あと、studentと、scoreの二つをを stdataという構造体で扱って解いてほしいです。 追記になり少々見苦しいかもしれませんが よろしくお願いします。
- 480 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 01:33:17.28 ]
- >>478を見ると、入力は点数の数値だけを連続し入力し、入力が終わったら、
そのままソートして結果出力してるように見える stdataという構造体作ったとしても、scoreが点数として、studentには何を格納するの?
- 481 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 01:34:57.11 ]
- 番号
- 482 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 01:53:56.30 ]
- >>481
さんくす そりゃそうだ
- 483 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 02:00:06.34 ]
- 初めはこういう程度でいいのかと思ったんだが、
題意とはデータ構造が違うっぽいな ideone.com/OiLRm
- 484 名前:デフォルトの名無しさん [2012/03/01(木) 02:21:48.86 ]
- >>483
夜分遅くにありがとうございます。 せっかく解いていただいたところ、申し訳ないのですが、 どうやら、成績はEOF(ctrl+Z)が入力されるまで自分の手で 入力していくプログラムのようです。 よろしければ修正していただくことは可能でしょうか。 もし可能であればお願いしたいです。
- 485 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 02:37:02.09 ]
- >>484
やってみた EOF または 空エンターで入力打ち切り ideone.com/9bzK2
- 486 名前:デフォルトの名無しさん [2012/03/01(木) 16:57:33.87 ]
- >>485
-ーー ,,_ r'" `ヽ,__ \ ∩/ ̄ ̄ ヽつ ノ ̄\ /"ヽ/ " ノ ヽi | \_)\ .\ > < |\ \ ~ ) \ .\_ ( _●_)\_つ ありがとう。  ̄ \_つ 無事提出することができて、たすかりました。
- 487 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 17:46:31.18 ]
- >>485,486
>ideone.com/9bzK2 >>478 >点数を高いものから順に並び替えよ なので、x、y逆じゃね? X return ((stdata*)x)->score - ((stdata*)y)->score; O return ((stdata*)y)->score - ((stdata*)x)->score;
- 488 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 18:10:08.14 ]
- >>487
ttp://ideone.com/VbsV6
- 489 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 18:27:35.63 ]
- [1] 授業単元:C言語演習
[2] 問題文: キーボードで入力された名前をchar型の一次元の配列nameに入れていきます。 各名前の先頭アドレスをp_nameに入れます。 p_nameのアドレスをptrptrに入れます。 最後に一番長い名前と一番短い名前、変数ptrptr、p_name、nameのアドレスを表示します。 実行例: 名前を10個まで入力できます。桁数は最大30です。 name1: tanaka name2: nakabayashi name3: hama ・ ・ 一番長いのは"nakabayashi"で、11桁。 一番短いのは"hama"で、4桁。 Adress of name: 231191 Adress of p_name: 231511 Adress of ptrptr: 231551 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: CPad for Borland [3.3] 言語: C [4] 期限: 2012年3月4日中まで お願いします。
- 490 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 19:52:15.78 ]
- キーボードで入力された名前をchar型の一次元の配列nameに入れていきます。
名前を10個まで入力できます。桁数は最大30です。 char name[300]; 各名前の先頭アドレスをp_nameに入れます。 char (*p_name)[10]; p_nameのアドレスをptrptrに入れます。 char *(*ptrptr)[10]); こういうこと? C言語より日本語のが難しいわ
- 491 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 19:54:56.60 ]
- 最後間違えた。こうかな
char (**ptrptr)[10];
- 492 名前:489 mailto:sage [2012/03/03(土) 00:59:31.66 ]
- >>490
そういうことなんですかね。 とりあえず実行例にあるように、適当にキーボードから名前を入力していったあとに、 一番長い名前とその桁数、一番短い名前とその桁数、nameのアドレス、p_nameのアドレス、 ptrptrのアドレスを表示するようなプログラムを作成したいです。 全然できない状況です。よろしくおねがいします。
- 493 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 02:00:33.46 ]
- >>489
ttp://ideone.com/NIewy
- 494 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 02:01:03.93 ]
- >>489
元の問題文がその通り書いてあるなら出題に不備がある感が… ダブルポインタの練習のための問題だと思うけど char name[300]; って宣言と char * name[10]; って宣言の2パターンある希ガス。 まあchar * name[10];のほうだと、p_nameにアドレス入れるのが冗長になるから 問題を好意的に捉えれば前者なんだろうけど。 コードも出さずに偉そうなこといって申し訳ない
- 495 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 02:08:04.23 ]
- >>493
ぐあ。すげえ。 書きもしないで問題に文句言ってた自分が恥ずかしや
- 496 名前:489 mailto:sage [2012/03/03(土) 03:53:48.10 ]
- >>493
わぁすごい。 本当にありがとうございます!
- 497 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 08:36:56.98 ]
- >>493
一番長い名前、一番短い名前が複数あったらどうするの?
- 498 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 09:31:50.02 ]
- こういうクソ意地悪い系列が入力された時の最大最小の動作なんて
質問者・回答者はおろか出題者すら考えてねーんだろーな tanaka yamada kagaya kaneko koyano sasaki sakuma
- 499 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 09:39:15.57 ]
- こういう問題なら一つ表示すれば十分
- 500 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 09:45:42.37 ]
- この問題はまだましだけど、たまに本当に意味わからん宿題があるよな
ああいうの出される所で勉強してるとプログラミング嫌いになるんだろうなぁ
- 501 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 11:53:40.64 ]
- スレチだけど、アセンブリの授業教えてる先生が意地悪っつーか凝ってるっつーか
わざとバグを仕込んであるアセンブリコードのデバッグの宿題とか死にかけたな。懐かしい
- 502 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 15:01:19.24 ]
- >>501
>わざとバグを仕込んであるアセンブリコードのデバッグの宿題 期待される動作をきちんと説明してあれば、いい教材になりうるけどな。 教える側のイメージが曖昧で、何通りにも解釈可能ってのはたまによくある。
- 503 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 16:10:22.23 ]
- >>502
> たまによくある。 お前の人生自体も失敗がたまによくありそうだな。
- 504 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 17:03:37.94 ]
- わぁ、おもしろーい
- 505 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 18:41:48.63 ]
- >>496
310に変えておいたほうがいいよ
- 506 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 06:05:40.84 ]
- address
- 507 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 11:12:49.10 ]
- 【質問テンプレ】
[1] 授業単元:Discrete systems [2] 問題文(含コード&リンク):www.scribd.com/doc/83713731/A-1 www.mediafire.com/?ty96723pwecp43g [3] 環境 [3.1] OS: windows7/xp [3.2] コンパイラ名とバージョン: Visual studio 2008 [3.3] 言語: C [4] 期限: 3/5 19:00 [5] その他の制限: なし LEDパネルを表示させる系のプログラムですが Exercise 3からまったくわかりません><
- 508 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 12:34:09.60 ]
- [1] 授業単元:C++
[2] 問題文(含コード&リンク):以下のようなコードはバグである。理由を考察すること。 @{ char hoge[11]; char *poge = "aa.bb.cc"; char *tok = NULL; char *ptr1 = NULL; char *ptr2 = NULL; memset(hoge, '\0', 11); strcpy_s(hoge, 11, poge); ptr1 = strtok_s(hoge, ".", &tok); ptr2 = strtok_s(NULL, ".", &tok); ptr1 = strtok_s(poge, ".", &tok); ptr2 = strtok_s(NULL, ".", &tok); } Afor(int i=0; i<plName->Getlength(); i++) ※XMLの読み込みで、取得したタグ名の全ての要素についてループさせる処理です。 [3] 環境 [3.1] OS:windows7 [3.2] コンパイラ名とバージョン: Visual studio 2008 [3.3] 言語: C++ [4] 期限:3/4 23:00 [5] その他の制限: なし 問題Aについて、要素の数が膨大になる場合、パフォーマンスが劣化する。 という解答では×とのことでした。 以上です。よろしくお願いします。
- 509 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 15:07:29.94 ]
- >>508
strtokは第一引数の文字列を直接変更する。 pogeは変更してはいけない
- 510 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 15:09:22.85 ]
- Aはそれだけじゃバグは見当たらない。
はしょった?
- 511 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 15:18:19.03 ]
- >>508
>Afor(int i=0; i<plName->Getlength(); i++) Getlength()の返り値が途中で変わったらまずいだろうけど、他にあるかな?
- 512 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 21:36:43.09 ]
- ループの中で plName が変わり意図とは違う回数で終わるとか?
- 513 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 22:07:23.10 ]
- >for(int i=0; i<plName->Getlength(); i++)
int len = plName->Getlength(); for(int i=0; i<len; ++i) とかじゃないよね?
- 514 名前:508 mailto:sage [2012/03/04(日) 22:42:09.41 ]
- >>509-513
皆さんありがとう。 Aについてだけど、少しはしょってた。申し訳ない。 以下全文です。 MSXML2::IXMLDOMDocument2Ptr pDoc; MSXML2::IXMLDOMNodeListPtr INodeListPtr; pDoc->load("sample.xml"); INodeListPtr plName = pDoc->getElementsByTagName("aaa"); for(int i=0; i<plName->Getlength(); i++) { //ここまで 問題があるのはforループの箇所
- 515 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 22:46:02.44 ]
- 18分でどーしろというんだ
アホかこいつ
- 516 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 23:03:10.01 ]
- まぁ普段使ってなきゃ無理だね
しかもXMLの処理は.NETが異常に捗るからMSXML使ってる人なんてもういないだろ
- 517 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 23:08:07.39 ]
- >>514
問題の意図がわからんな パフォーマンスを求める前にエラーチェックをするべきでしょ
- 518 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 03:23:48.78 ]
- >>514
forループの箇所に問題はないけど、それ以外に問題ありのように思うわ。 23時には間に合わなかったけど、18分もかかるほどの内容ではなかった。
- 519 名前:デフォルトの名無しさん [2012/03/05(月) 03:46:42.95 ]
- >>514
typedefがないってことではないよなぁw
- 520 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 10:20:08.22 ]
- >>514
>for(int i=0; i<plName->Getlength(); i++) X int i O long i
- 521 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 12:12:24.06 ]
- >>519
無かったらコンパイル通らないし いや、まさか・・・
- 522 名前:デフォルトの名無しさん [2012/03/09(金) 20:25:50.41 ]
- [1] 授業単元: 情報処理
[2] 問題文 (1) ideone.com/F0NZo 上記のプログラムはオープンするファイルが abc に限られている。 キーボードからファイル名を読み込んで、そのファイルをオープンするように変更せよ。 (2) 台形公式を用いて、分割数 N を増やしながら f(x) = x 3 を 0から1の範囲で積分し、 その計算結果と解析解(1/4)の差が0.001未満になったら計算を終了するプログラムを作成せよ。 Nの初期値を1として、Nについての for文を用いること。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:不明 [3.3] 言語: C [4] 期限:今日中 [5] その他の制限: (1)で使用したサイトであげていただけると助かります。 よろしくお願いします。
- 523 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 22:49:18.09 ]
- >>522
(1) ideone.com/BJtZP (2) ideone.com/yntWm 数学苦手だから (2) はちょっと自信ない
- 524 名前:デフォルトの名無しさん [2012/03/09(金) 23:09:14.96 ]
- >>523
ありがとうございます。
- 525 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 23:51:00.61 ]
- >>524, 523
2番目はこんな感じじゃなかろうか ideone.com/WqmYZ
- 526 名前:523 mailto:sage [2012/03/10(土) 00:14:37.57 ]
- >>525
あ、なるほど そっちが正解だわ
- 527 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 21:50:23.21 ]
- [1] 授業単元: アルゴリズム
[2] 問題文(含コード&リンク): KMP法のアルゴリズムの関数を作成せよ。 [3] 環境 [3.1] vista [3.2] VC 2008 [3.3] 言語: C [4] 期限: 3月16日まで 分かる方いらしたらよろしくお願いします
- 528 名前:527 mailto:sage [2012/03/15(木) 21:52:00.17 ]
- >>527
申し訳ありません、追記です。文字列照合においてのKMP法です。
- 529 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 21:52:28.99 ]
- >>527
宿題は、出された問題をそのまま書かないと、誰もやってくれないよ
- 530 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 22:08:20.14 ]
- >>527
分かる方って、自分では調べてやってみた?
- 531 名前: ◆QZaw55cn4c mailto:sage [2012/03/15(木) 23:45:54.92 ]
- >>527
www.amazon.co.jp/dp/4874084141/ の p389 に 30 行ほどでのってるよ。algo.lzh っていうこの本のサンプル集もどこかに転がってるんじゃないかな。 最近の図書館は24時間営業じゃなかったっけ。この時期なんかは特に。
- 532 名前:デフォルトの名無しさん [2012/03/16(金) 10:39:01.00 ]
- oku.edu.mie-u.ac.jp/~okumura/algo/
- 533 名前:デフォルトの名無しさん [2012/03/16(金) 10:43:17.37 ]
- >>327
codepad.org/MBex3iLm おら、動いたぞ。
- 534 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 06:20:26.52 ]
- [1] 授業単元: -
[2] 問題文:judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0002&lang=jp [3] 環境 [3.1] OS: ? [3.2] コンパイラ名とバージョン: ? [3.3] 言語: C [4] 期限:無期限 [5] その他の制限: codepad.org/9XK5Xemy 一応書いてみたのですが正解として受け入れられませんでした。 微妙にスレチな気もしますが宜しくお願いします。
- 535 名前: ◆T7UZkyB.V6 mailto:sage [2012/03/18(日) 07:57:32.20 ]
- >>534
#include <stdio.h> #include <math.h> int main(){ int in1, in2, in3; char buf[80]; while(!eof(stdin)){ gets(buf); sscanf(buf, "%d%d", &in1, &in2); in3 = in1 + in2; printf(int(log10(in3)+1)); } } 微妙にノーコンパイルにしておいた。
- 536 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 08:47:19.81 ]
- >>534
何がダメで不正解じゃなかったのか書かないと 意味ねーじゃん
- 537 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 08:56:21.53 ]
- >>535
code.c: In function ‘main’: code.c:11: error: expected expression before ‘int’ だそうです >>565 不正解の時は「Wrong Answer」としか言ってくれない
- 538 名前: ◆T7UZkyB.V6 mailto:sage [2012/03/18(日) 09:01:32.24 ]
- 英語圏の教授か?
#include <stdio.h> #include <math.h> int main(){ int in1, in2, in3; char buf[80], *p; while(1){ if(feof(stdin)) break; // ddd ddd[EOF] if(!gets(buf)) break; // ddd ddd[NEWLINE][EOF] sscanf(buf, "%d%d", &in1, &in2); in3 = in1 + in2; printf("%d\n", (int)log10((float)in3)+1); }return 0;}
- 539 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 09:28:00.11 ]
- ほんとにただ解きたいから解いてるだけなやつだなw
コミュニケーションとれてないw
- 540 名前: ◆T7UZkyB.V6 mailto:sage [2012/03/18(日) 10:03:57.37 ]
- >>ww
#include <stdio.h> #include <math.h> int func(int sum){ int i; for (i = 0; sum; i++) sum /= 10; return i;} int main(){ int in1, in2, in3; char buf[80], *p; while(1){ if(feof(stdin)) break; // ddd ddd[EOF] if(!gets(buf)) break; // ddd ddd[NEWLINE][EOF] sscanf(buf, "%d%d", &in1, &in2); in3 = in1 + in2; printf("%d\n", func(in3)); }return 0;}
- 541 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 10:20:05.90 ]
- 3時間以上かけてそんなプログラム書いてるの?
- 542 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 10:28:04.60 ]
- そこの素数求める問題をエラトステネスの篩で書いたら時間切れくらって以来やってないな
- 543 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 10:29:36.05 ]
- >>538
/tmp/cceCITzA.o: In function `main': code.c:(.text+0x24): warning: the `gets' function is dangerous and should not be used. >>540 /tmp/cc4nIZbg.o: In function `main': code.cpp:(.text+0x75): warning: the `gets' function is dangerous and should not be used. \(^o^)/
- 544 名前: ◆T7UZkyB.V6 mailto:sage [2012/03/18(日) 10:45:47.20 ]
- [3] 環境
[3.1] OS: Unix [3.2] コンパイラ名とバージョン: cc [3.3] 言語: C if(!fgets(buf,80,stdin)) break; // ddd ddd[NEWLINE][EOF]
- 545 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 10:46:15.07 ]
- >>542
自分が解いた限りではそんな問題なかったぞ
- 546 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 10:53:49.67 ]
- >>545
これ judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0009&lang=jp
- 547 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 10:56:44.91 ]
- >>546
一回計算した値は使いまわせば余裕
- 548 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 11:36:22.02 ]
- >>534
致命的な間違いがあるけど、指摘されてんのはそこじゃねーんだよな
- 549 名前:デフォルトの名無しさん [2012/03/18(日) 11:46:25.99 ]
- >>534
jについてのループおかしくね? 数字以外の入力もそのまま処理されるのもまずい気がする それと>>535のはprintfのsyntax errorとeof()がまずいらしい(理由は知らん) こう書き直したら動いた #include <stdio.h> #include <math.h> int main(){ int in1, in2; char buf[80]; while(gets(buf) != NULL) { sscanf(buf, "%d %d", &in1, &in2); printf("%d\n", (int)log10(in1 + in2)+1); } }
- 550 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 11:56:28.06 ]
- >>549
/tmp/ccmsA2nL.o: In function `main': code.c:(.text+0x7d): warning: the `gets' function is dangerous and should not be used. getsは使ったらダメなようです
- 551 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 12:08:54.95 ]
- これで通るだろ
#include<stdio.h> int main(void) { int a, b; char buf[16]; while(scanf("%d%d", &a, &b)==2) { printf("%d\n", sprintf(buf, "%d", a+b)); } return 0; }
- 552 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 12:37:13.86 ]
- >>551
すげぇ・・・通った 天才だわ
- 553 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 12:57:10.81 ]
- >>552
解けた人数が難易度の目安になる 200人のは簡単 100人くらいのを解こうとしたら動的計画法を使えるようにならないとだめ 50人くらいのを解こうとしたら思いつきがいる
- 554 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 13:07:01.25 ]
- >>553
今回の問題1647人いるんですが・・・
- 555 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 13:17:21.84 ]
- なんで正答率じゃなくて人数を目安にするんだ?
- 556 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 13:19:26.26 ]
- >>555
やれば分かる
- 557 名前:デフォルトの名無しさん [2012/03/18(日) 13:31:35.50 ]
- 初めて書き込みます。よろしくお願い致します。固定長バイトの文字列の中の一部を抜き出すところがわかりませんでした。
1] 授業単元:C言語 [2] 問題文(含コード&リンク): 文字列A(固定長150バイト)一万行以上と文字列B(CSV)一万行以上のそれぞれのテキストデータ・ファイルがある。文字列A の5文字目から6文字分と文字列Bの2カラム目の4文字目から6文字分を比較し、同じなら、文字列Aの 77文字目から50バイト分を文字列Bの4カラム目を置き換える。文字列Bの4カラム目が50バイト以下なら " "空白で埋める。50バイトより大きい場合50バイトまでの大きさを対象とする。 置き換え対象領域は日本語全角漢字含む文字列となる。 文字列Aの対象領域は2バイトx20文字+1バイト10文字で整形されている。 文字列AはSolaris10上のファイル。文字列BはエクセルファイルをCSV保存してFFFTPでSolaris10へコピーしたもの。 文字コード:文字列A(EUC-JP)、文字列B(sjis2eucで変換) [3] 環境 [3.1] OS: 実行環境はSolaris10(x86)、開発環境はCentOS5.8、文字列AはSolaris上のファイル。文字列BはエクセルをCSVで保存しSolarisへコピー。 [3.2] コンパイラ名とバージョン: 実行環境(Solaris-gcc3)、開発環境(CentOS-gcc4.1.2) [3.3] 言語: C言語 [4] 期限: 3月21 [5] その他の制限:特になし 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
- 558 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 13:42:15.97 ]
- これ宿題なの?
○文字目っていうのは全角も考えたうえでの数? 全部全角だとすると77文字目って142バイト目くらいから始まることになるけど
- 559 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 13:45:18.02 ]
- 食卓に欠かせない存在って言えばやはり塩と醤油ですよね。「あれ?これ味薄くない?」「これ味違くない?」
という言葉を言い出せない僕らにとって無くてはならないアイテムです。もちろんこの醤油的存在はアジア圏を 中心に大活躍しているわけですが、昨日のコンビニ弁当と学校給食に続き、お隣韓国の醤油工場をご紹介です。 しかも摘発された工場です。 無許可で経営していたとの理由で摘発された韓国醤油「魚醤(エクジョッ)」製造工場なのですが…。 spytune.net/wp-content/uploads/2012/03/uji.jpg ウジ虫が主原料になっちゃってるぅぅぅぅ!!!! これ無許可の前に食品衛生法違反で逮捕して!ちなみに観光客や市民に向けて出荷されていたそうです…。 spytune.net/?p=450
- 560 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 13:54:19.44 ]
- csvの仕様をちゃんと実装するのはめんどくさい
エスケープとかクォートとか
- 561 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:11:10.87 ]
- >>534
たぶん、xをターミネーションしてない
- 562 名前:デフォルトの名無しさん [2012/03/18(日) 14:15:45.97 ]
- >558
間違いました。1ー66バイトが1バイト、67ー126が変換対象(日本語混じり)124ー150が1バイト となります。 学校ではなく、職場の(自己啓発)プログラミング講座の課題です。
- 563 名前:デフォルトの名無しさん [2012/03/18(日) 14:18:27.65 ]
- 訂正
1ー77バイトが1バイト、77ー126が変換対象。126ー150が1バイト です。 何度もスミマセン。
- 564 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:20:38.52 ]
- >>562
自力で解かなきゃ意味ないじゃんwwwww
- 565 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:21:07.07 ]
- >>564
それを言ってしまったらこのスレ全部アウト
- 566 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:24:34.04 ]
- >>565
これで給料もらってるなら話は別だろ
- 567 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:35:51.95 ]
- >>566
そういうもんかね。AOJとかの質問するほうがどうかしてると思うけど。 >>557 > 固定長バイトの文字列の中の一部を抜き出すところがわかりません それが必要な場面がないけれど、 必要なら strncpy(dst, src+startoffset, wantlength); dst[wantlength] = '\0' とかやればいいよ
- 568 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:41:16.10 ]
- >>567
AOJのは高専向けの問題の中でも超入門の過去問だろ
- 569 名前:デフォルトの名無しさん [2012/03/18(日) 14:56:15.68 ]
- >>567
ありがとうございます。この問題では 文字列Aのキーになる文字列を抜き出し、ループの中で文字列Bのキーになる文字列 を抜き出し比較しif文でマッチしたら、 文字列Aの対象文字列前,後の文字列を抜き出し間にBの文字列を差し込みファイル出力 という処理を考えていました。文字列を抜き出さずに比較する方法とは どのようなものでしょうか?
- 570 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 15:18:51.15 ]
- >>569
そのやり方でいいと思うよ
- 571 名前: ◆T7UZkyB.V6 mailto:sage [2012/03/18(日) 15:35:18.88 ]
- codepad.org/p04W8Uz5
- 572 名前: ◆QZaw55cn4c mailto:sage [2012/03/19(月) 12:34:06.63 ]
- >>571
>char str[256], x[256], y[256]; 決め打ちか‥‥。
- 573 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 13:10:45.21 ]
- >>572
>>534
- 574 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 18:34:33.39 ]
- >>569
文字列A側の1万行以上のそれぞれの行にたいして、 一致する行を文字列Bの一万行以上から捜して、 文字列置換して、文字列A側がEOFになるまで繰り返す という問題ではないのか?
- 575 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 20:39:22.99 ]
- >>574
何が変わったん
- 576 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 20:41:40.94 ]
- 比較対象が一行か複数行か
- 577 名前:デフォルトの名無しさん [2012/03/19(月) 22:25:18.22 ]
- >>557
他に条件ないの?csvパースするの面倒なんだけどw 昔書いたモジュールぶち込むのも面倒だし。。。
- 578 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 23:01:56.76 ]
- エクセルで作ったCSVだから割とまじめなCSVだろうしなぁ。
ある程度でいいんじゃないかなぁ。面倒でやる気でないけど…
- 579 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 00:21:34.08 ]
- パースはどうでもいいけど
head -n 100でもしてデータぐらいは上げて欲しいな
- 580 名前:デフォルトの名無しさん [2012/03/20(火) 02:07:42.81 ]
- >>サンプルのダミーデータです。
ideone.com/kNPtm
- 581 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 02:56:01.08 ]
- > 文字列Aの対象領域は2バイトx20文字+1バイト10文字で整形されている。
TTTとかMMMとかは半角だけど、>>580が伏せるときに間違えただけ?
- 582 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 03:26:33.13 ]
- >>580
なぜ、AとBを別々に上げないの? なぜEUC-JPではなくUTF8なの? なぜ1行目(コメントヘッダ除く)でいきなり150バイト超えてるの? Bの4カラム目ってどこなの?2列しかないのに。
- 583 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 03:29:49.29 ]
- 言語どうこう以前に習得しておくべきことが多いwww
|

|