- 1 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:43:17.22 ]
- あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。
【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 >>2以降にあります。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
- 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
|

|