1 名前:デフォルトの名無しさん [2009/06/24(水) 23:28:21 BE:454421568-DIA(282072)] あなたが解けない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++の宿題片付けます 127代目 pc12.2ch.net/test/read.cgi/tech/1244449887/
411 名前:デフォルトの名無しさん [2009/07/02(木) 04:35:32 ] >>408 〜410 ですよね。 うーん、正直、さっぱりわからん。 LPFとはさ、高周波を取るわけじゃないですか? 周波数ってなんでブチって切れないの? 何を境にして切ってるの?
412 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 04:38:09 ] >>358 >>402 書いてみた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9642.c
413 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 04:48:57 ] >>411 まあアナログ値をサンプリングしたことあるとよくわかるんですが 入力波形の最高周波数の倍は無いときっちり拾えないですよ。 まあその辺の説明は>>406 の下の方の >折り返し周波数 > >じゃあ、具体的にどういうものがエイリアスとなるのか、というのが問題になるわけですが、 >サンプリングしたときにエイリアスが発生しない最高の周波数は、サンプリング周波数の1/2です。 >これを折り返し周波数といいます。上の例ではサンプリング周波数が2Hzだから、限界は1Hzという >ことになります。 つまり44.1kHzのサンプリングレートというのは>>406 にもこうあります >一般的に用いられている44100Hz(CDのサンプリング周波数)では、折り返し周波数は22050Hzで、 >これは人間の耳に聞こえる最高の周波数20000Hzぐらいに合わせてあります。これは、けっこう >ギリギリの周波数です。 つまりダウンサンプリングする場合はダウンサンプリング後のサンプリング周波数の半分を超える 周波数成分があるとノイズと化しますのでフィルターを通してなくしちゃいます。
414 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 04:52:58 ] スペアナ(ロジアナ?)とかあの手の機械でも高周波を扱うのが高いのは扱う 周波数の倍以上のサンプリング能力が無いと波形チェックができないからでしたっけ? 安い機械はあんまり高い周波数は扱えません。(すげー予断
415 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 05:01:11 ] >>404 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9643.txt windowsのコンソールアプリとしてテスト済み たぶんOKだと思います。
416 名前:デフォルトの名無しさん [2009/07/02(木) 05:19:06 ] >>413 >>414 なんというか、FFTを用いて、周波数解析を用いるじゃないですか。 それで、出た値の高周波を0にして、逆FFTを用いることを時間軸ごとに 区切ってしていけば高周波をブチっと切れないのかな、と。 考え方がそもそも変ですか??
417 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 05:31:59 ] >>416 その方法でいいのかもしれませんね。 homepage2.nifty.com/kirislab/chap5_mri/fourierConv.html
418 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 05:36:42 ] >>416 プログラム的には高周波をゼロにする周波数特性を逆FFTしたものと 入力信号との畳み込み演算を行えばいい
419 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 05:43:36 ] >>418 いままでのを踏まえてロジック的には>>393 の www.geocities.jp/horie_ryu/page05/lpf.c ですかね
420 名前:デフォルトの名無しさん [2009/07/02(木) 06:07:22 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク):下記 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン:Visual stdio2008 [3.3] 言語: C [4] 期限: 2009年7月2日8時40分まで [5] その他の制限: どういう風に動いているか説明しなければならない&できるだけ簡単に 構造体 score 型の変数 seito1 と seito2 が宣言されている. seito1 の内容をそのまま seito2 へ代入したい. 次のプログラムの @ の部分を埋めよ. int main( void ) { struct score seito1, seito2; strcpy(seito1.name, "yamada"); seito1.english = 50; seito1.mathematics = 70; @ printf("名前:%s\n英語:%d\n数学:%d\n ", seito2.name, seito2.english, seito2.mathematics); return 0; }
421 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 06:12:04 ] seito2 = seito1;
422 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 09:39:33 ] ダウンサンプリング:方法は1つに定まらないし、どんな音源に対しても通用する方法も 無いと思われ。(人の耳と脳がどう感じるかが最終的に問題になる。心理が絡んでくる 問題なんで)
423 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 11:15:32 ] [1] 授業単元: 情報処理 [2] 問題文(含コード&リンク): 2つの正整数 m とn とを引数として受け取り、m と n の最大公約数を戻 り値として返す関数gcd()を作成する。この関数を用いることにより、キー ボードから入力した3つの正整数 a, b, c の最大公約数を求めるプログラム を書け。 注意: 最大公約数を計算するには次のような「ユークリッドの互除法」を 用いるとよい。 「ユークリッドの互除法」 2つの正の整数 m、n(m>n)の最大公約数を求めるには、m を n で割っ て余り r1 を求め、次に n を r1 で割って余り r2 を求め、・・・、この ように大きい方を小さい方で割って余りを求め、最後に割り切れたときの除 数が求める最大公約数である。 例)440/380=1余り60 380/60=6余り20 60/20=3 余りなし したがって、440と380の最大公約数は20 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: c++ builder [3.3] 言語: C [4] 期限: 20009年m7月3日12:00まで [5] その他の制限:できるだけシンプルにお願いします。よろしくお願いします。
424 名前:デフォルトの名無しさん [2009/07/02(木) 11:28:53 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9645.txt [3] 環境 [3.1] OS:Linux [3.2]gcc [3.3] 言語: C [4] 期限:7/3 [5]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9644.txt のファイル名はseiseki.txtでお願いします ポインタは使用不可です
425 名前:デフォルトの名無しさん [2009/07/02(木) 11:48:24 ] >>423 結構、シンプルになったと思う。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9646.txt
426 名前:デフォルトの名無しさん [2009/07/02(木) 11:54:07 ] >>424 ポインタ使わないとか、可能なのか?
427 名前:425 [2009/07/02(木) 11:57:38 ] m=m%n; i=m; m=n; n=i; って、 i=m%n; m=n; n=i; で良いな。無駄な代入してるや。
428 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 11:59:55 ] >>426 ポインタの価値を理解するためにわざわざ回りくどいプログラムを書かせるのが目的だそうです
429 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 12:00:11 ] >>423 まぁまぁコンパクトにしてみた。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9648.c
430 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 12:01:34 ] >>428 ポインタ使わないとファイルが読み込めないぞ
431 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 12:02:53 ] >>429 大小関係チェックしてねぇw
432 名前: ◆/91kCCQXBo mailto:sage [2009/07/02(木) 12:28:14 ] >>296 ユーザーインターフェースのメニューは、自分で追加できると思うのでやってない。 ファイルに登録された成績コードを読み、動的に確保した生徒構造体の領域にデータを編集 jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/9-10
433 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 13:21:05 ] >>424 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9650.c ただし拡張性は皆無。
434 名前:デフォルトの名無しさん [2009/07/02(木) 13:38:30 ] [1] 授業単元:C言語 [2] 問題文:単純なオセロゲーム [3] 環境: [3.1] OS: Unix [3.2] gccでコンパイル [3.3] (C/C++/どちらでも可 のいずれか) [4] 期限: 来週・・7月9日 [5] その他の制限:特になしです 勝敗と成績がわかるものがよいです。 よろしくお願いします。
435 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 13:46:40 ] >>424 433に先こされてしまったが。負の数は知らない ポインタなし ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9651.c
436 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 14:06:01 ] こういうコード書くからCプログラマが落とさなくても良い信用を落とすのではないかと杞憂 もう少しエスパーしてやったらいいんじゃないかと...
437 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 14:41:33 ] 杞憂ならいいじゃん
438 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 14:43:47 ] >>436 そもそもこんなところに○投げにくるやつらの評価なんてどうでも・・・
439 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 14:58:03 ] >>424 #include <stdio.h> int seiseki[]={70 56 66 45 88 66 85 68 55 73 55 65 53 67 55 85 72 76 58 65, 92 70 45 73 55 56 57 52 62 82 72 62 33 85 95 46 95 48 72 34, 83 42 88 92 56 68 65 91 82 66};//コンマ省略 ... 略
440 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 14:58:31 ] >>333 ,342 範囲外なら再入力させるところは間違ってるかも kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9652.c
441 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:19:05 ] ポインタ使用不可なのに配列を使っていいんだろうか
442 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:22:30 ] 「配列使用時には(まだ習ってもない)ポインタを使用してはいけない」ぢゃないのか?
443 名前:デフォルトの名無しさん [2009/07/02(木) 15:24:51 ] 〔1〕授業単元:C言語 〔2〕問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9654.txt 〔3〕環境 [3.1] OS: Windows [3.3] 言語: C言語 〔4〕期限:7月3日 12時 〔5〕ポインタ、配列、リスト構造まで習いました よろしくお願いします
444 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:25:31 ] >>441 配列のその辺の扱いは多少大目に見るべきじゃないだろうか。 ポインタに成り下がれるとかいうんだっけ? 時々その辺のネタで荒れるスレ知ってるが
445 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:34:17 ] あからさまに int *a とか *(a + 1) とか malloc/callocしてアドレスを渡して回るとか こういうのやらなければいいんじゃね。
446 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:35:45 ] ポインタ使用不可ってのは「*」使用不可ってことなのか? a[i]だろうが*(a + i)だろうがポインタを使ってることに変わりないんだが
447 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:37:14 ] やっぱ荒れだすなww
448 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:43:45 ] >>446 確かにそうだけど、>>424 の問いが言いたいのは 定義後に保持するアドレスを自由に変更できるポインタ変数の便利さを知れってことでしょ。 そう考えれば配列は使っていいことになる。 出題者が本当にそういう意図で出したのかどうかは知らん。
449 名前:425 [2009/07/02(木) 15:54:16 ] >>434 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9655.txt かなり適当だけど「単純なオセロ」ぐらいにはなってるかと。
450 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 16:14:04 ] >>443 /* 課題1 */ #include <stdio.h> #include <math.h> int main() { struct Vertex { double x, y; } verA, verB, verC, verD; printf("verA (x, y): "); scanf("%lf %lf", &verA.x, &verA.y); printf("verB (x, y): "); scanf("%lf %lf", &verB.x, &verB.y); printf("verC (x, y): "); scanf("%lf %lf", &verC.x, &verC.y); printf("verD (x, y): "); scanf("%lf %lf", &verD.x, &verD.y); if (verA.y != verB.y || verC.y != verD.y) { printf("error\n"); } else { printf("area: %g\n", (fabs(verA.x-verB.x)+fabs(verC.x-verD.x))*fabs(verA.y-verC.y)/2); } return 0; }
451 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 16:14:06 ] [1] 授業単元:プログラミング [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9656.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語:C [4] 期限: 7/6 よろしくお願いします。
452 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 16:17:23 ] >>443 無理やり1レスでスマソ /* 課題2 */ #include <stdio.h> #include <stdlib.h> struct Node { int value; struct Node *next; }; struct Node *init_list() { struct Node *root = (struct Node *)malloc(sizeof(struct Node)); root->value = 0; root->next = NULL; return root; } void add_node(struct Node *root, int value) { struct Node *p = root->next, *q = root; while (p) { q = p; p = p->next; } p = (struct Node *)malloc(sizeof(struct Node)); p->value = value; p->next = NULL; q->next = p; } void make_list(struct Node *root) { int value; printf("Insert:\n"); while (scanf("%d", &value) != EOF) { add_node(root, value); } } void show_list(struct Node *root) { struct Node *p = root->next; printf("Show:\n"); while (p) { printf("%d\n", p->value); p = p->next; } } void free_list(struct Node *root) { if (root) { free_list(root->next); free(root); } } int main() { struct Node *root = init_list(); make_list(root); show_list(root); free_list(root); return 0; }
453 名前:デフォルトの名無しさん [2009/07/02(木) 16:44:35 ] >>449 ありがとうございます。 動作確認しました、問題なかったです。 たすかりました^v^
454 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 17:41:54 ] [1] 授業単元: 情報プログラミングC [2] 問題文(含コード&リンク): 7リットルと5リットルのバケツを使って、どちらか一方のバケツに4リットルの水を入れる方法を探す。 [3] 環境 [3.1] OS: 窓VISTA [3.2] コンパイラ名とバージョン: visual studio 2008 [3.3] 言語: C [4] 期限: 7/2 [5] その他の制限: 実行できる操作 (a)水道から新たに水を入れてバケツを満杯にする(b)バケツの水を全部捨てる (c)一方のバケツの水を他方のバケツが満杯になるまで注ぐ(d)一方のバケツの全部の水を他方のバケツに注ぐ 初期状態は両方0リットル。幅優先探索と待ち行列を使用。ただし、ポインタと構造体は使わない。
455 名前:デフォルトの名無しさん [2009/07/02(木) 17:52:28 ] >>450 >>452 非常に助かります ありがとうございました
456 名前:デフォルトの名無しさん [2009/07/02(木) 19:10:32 ] >>454 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9657.txt 待ち行列を使用ってのがよくわからんかった。 current_rankは削除しそこねなんで消して(それで再アップするのもなんなんで)。
457 名前: ◆/91kCCQXBo mailto:sage [2009/07/02(木) 19:54:17 ] >>454 3を5に、4を7に置き換えればOK。 データの受け渡しにポインタ使ってるけど。乱数使ってるから待ち行列に近いのかも。 add cup 7. transfer from cup7 to cup5. cup7=2, cup5=5 empty cup 5. transfer from cup7 to cup5. cup7=0, cup5=2 add cup 7. transfer from cup7 to cup5. cup7=4, cup5=5 >4リットルの容器と、3リットルの容器があり、これらを使って4リットルの容器に2リットルをはかる。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9266.txt
458 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 20:11:16 ] > 乱数使ってるから待ち行列に近いのかも。 意味が分からん
459 名前:454 mailto:sage [2009/07/02(木) 20:14:36 ] >>456 >>457 どうもありがとうございました 助かります
460 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 20:32:20 ] >>457 乱数使う意味がわからんけど、猿ソートっぽいことやってんの?
461 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 20:43:13 ] ヒトだ。ソートは使っていない。 猿解説すると、次の4パターンの動作しかないので、3回の中でその順番をランダムに代えている。 ・7リットルのカップを満タンにする(次は、7リットルのカップの中身を5リットルのカップに移す) ・5リットルのカップを満タンにする(略) ・7リットルのカップを空にする(略) ・5リットルのカップを空にする(略)
462 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 21:03:57 ] >>446 ポインタを使うなっていうのは、 ポインタ変数を使うなってことでしょ。 aを配列で宣言していれば、 aは(ポインタに変換され得る)配列型の変数であって、 ポインタ型の変数じゃない。
463 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 21:21:24 ] [1] 授業単元:Cプログラミング初級演習 [2] 問題文(含コード&リンク): 10個のdouble型の数値を読み込み、最小値の1個を除いた9個の数値の和を出力せよ。 例:1 2 3 4 5 6 7 8 9 10 54.000000 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 7/6まで よろしくお願いいたします。
464 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 21:29:15 ] >>463 #include <stdio.h> #include <float.h> int main(void){ double n; double low = DBL_MAX; double ans = 0; int i; for(i=0; i<10; ++i){ scanf("%lf", &n); ans += n; if(n < low) low = n; } ans -= low; printf("%f\n", ans); return 0; }
465 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 21:32:12 ] >>435 >>435 ありがとうございました
466 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 21:45:37 ] >>464 ありがとうございました
467 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 21:56:51 ] >>461 あ、猿とはちょっと違ったのか。 てっきりランダムでごりごりやって気が済んだところでの最適解を使うとかそんなんかと。
468 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 22:09:43 ] [1] 授業単元:プログラミング上級 [2] 問題文(含コード&リンク): C言語を使ってどんな方法でもいいので コナミコマンド、↑↑↓↓←→←→BAの順番に ボタンを押されたか判断するプログラムを作成すること。 ヒント1:指定のキーが押される度に、フラグを立てて 最後に「A」が押されたら、処理を判断する ヒント2:違う順序、または途中で違うキーが押されたらフラグをリセットする [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: 2009年7月6日10:00まで [5] その他の制限:DXライブラリを使うこと
469 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 22:21:30 ] 初級上〜中級下ってとこじゃん
470 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 22:27:26 ] ヒントがもはや解答に見える。
471 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 22:29:00 ] 慣れてないと結構面倒だな ボタンの取得とか
472 名前:デフォルトの名無しさん [2009/07/02(木) 23:29:21 ] [1] 授業単元:C言語実習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9658.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:7/10 [5] その他の制限:特にありませんがなるべく簡単なものでお願いします
473 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 23:36:22 ] >>472 結果が変わってないんだが?
474 名前:デフォルトの名無しさん [2009/07/02(木) 23:42:20 ] >>473 すみません結果は 1 5 11 13 19 2 6 12 14 21 2 7 15 17 23 4 8 16 20 24 9 10 18 22 25 です
475 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 23:59:50 ] >>472 >>474 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9659.c
476 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 00:21:16 ] >>468 ってけっこう簡単に見えて難しくないか? てかコナミの入社試験でこんなのが昔あったな
477 名前:471 mailto:sage [2009/07/03(金) 00:24:00 ] 慣れてないと難しいよ 脳内にロジックはあるけど昨日の夜にパワー使ったのでいまいち乗らん せめて中身は無くていいのDXライブラリの読み込んでウインドウを表示するのだけでもあれば・・
478 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 00:25:58 ] 方向キーの入力を取得するとか言う時点で WindowsAPIかもっと上位のライブラリ使わないといけないしな 先生も 88224646ba くらいで勘弁して上げたらいいのに
479 名前:471 mailto:sage [2009/07/03(金) 00:27:30 ] >>478 DXライブラリはゲーム用なのでその辺は簡単
480 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 00:35:25 ] >>468 環境合ってる?
481 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 00:42:12 ] >>468 をやるには最低限これはwin依存なんだとおもうけどgccで処理できたっけ? int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) { }
482 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 00:42:15 ] DXライブラリの仕様 -------------------------------------------------------------------------------- 必須環境及びソフト Windows98以降のOS VisualC++ 6.0以降 又は BorlandC++ Compiler 5.5
483 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 00:44:22 ] まあVS2008のVC++2008でやってるからそれもってくればいいよ あとこのライブラリは龍神録が使ってるからそこを見れば基本的なことはわかるよ
484 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 00:49:58 ] >>481 gccでもできるよ コンパイル・リンクするときにどんなオプションつければいいかは忘れたけど
485 名前:468 [2009/07/03(金) 00:56:27 ] すみません。コンパイラはVisualStudio2008でした。 よろしくお願いします。
486 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:10:05 ] >>468 #include "DxLib.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { int cmd[] = { KEY_INPUT_UP, KEY_INPUT_UP, KEY_INPUT_DOWN, KEY_INPUT_DOWN, KEY_INPUT_LEFT, KEY_INPUT_RIGHT, KEY_INPUT_LEFT, KEY_INPUT_RIGHT, KEY_INPUT_B, KEY_INPUT_A }; int key, cnt, num; ChangeWindowMode(TRUE); DxLib_Init(); DrawString(5, 5, "Waiting for your namco command...", GetColor(0xFF, 0xFF, 0xFF)); cnt = 0; num = sizeof(cmd) / sizeof(int); while(key = WaitKey()){ if(cmd[cnt] == key) cnt++; else cnt = 0; if(cnt >= num) break; } DrawString(5, 30, "Your namco command was accepted! Press any key to exit.", GetColor(0xFF, 0xFF, 0xFF)); WaitKey(); DxLib_End(); return 0; }
487 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:11:34 ] あ、頭にナムコがあってnamcoなんて入れてしまった。 namco command → konami commandで。 恥ずかしい。
488 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:21:12 ] 宿題じゃないけど聞きたいのですが テキストファイルの中身を出力したいと思っています。 そこで次のようなプログラムを作ったのですが FILE *fp; fp=fopen("hoge.txt","r"); for(i=0; i<10; i++){ printf("%c\n",fp); *fp++; } fclose(fp); 文字化け?みたいな状態になってしまいました。 そのまま出力したい場合にはどのようにすればいいでしょうか?
489 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:23:22 ] fpじゃ読めないよ 読み込み関数あるからfopen関連で調べてみ
490 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:24:39 ] >>488 そのポインタが何を指していて、どのようにして内容を読み出し変換されるかをすっ飛ばしてるなぁ。
491 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:49:10 ] >>488 こんなかんじか #include <stdio.h> #include <stdlib.h> int main(void){ FILE *fp; fp = fopen("hoge.txt", "r"); if(fp == NULL) exit(-1); for(;;){ int c = getc(fp); if(c == EOF) break; putc(c, stdout); } return 0; }
492 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:50:02 ] >>491 あ、fcloseしてなかった
493 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:02:07 ] [1] 授業単元:Cプログラミング入門編 [2] 問題文(含コード&リンク):www-it.sci.waseda.ac.jp/CPR1/class08/kadai2.htm [3] 環境 [3.1] OS: UNIX [3.2] コンパイラ: gcc [3.3] 言語: C [4] 期限: 09年07月16日 [5] その他の制限: ど素人です。本当にごめんなさい。よろしくお願いします。
494 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:04:17 ] ↑補足です。 main関数を使えとの指示がありました。
495 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:13:07 ] だれ・・・・か・・・・ [1] 授業単元:C++プログラミング [2] 問題文 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9636.txt [3] 環境 [3.1] OS: Windows vista [3.2] コンパイラ名とバージョン:Visual Studio 2005 [3.3] 言語: C++ [4] 期限: 09年7月2日 [5] その他の制限:
496 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:22:42 ] >>495 昨日かおととい同じものがあったよw
497 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:25:03 ] 抽出してみたら>>342 だな
498 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:27:16 ] 完成してなかったのかw
499 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:38:30 ] 完成してないです・・・何度も同じ書き込みするのはよくないとわかっていつつも・・・この宿題を出さないと
500 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:43:44 ] >>495 って>>440 は確認したか?
501 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:50:09 ] >>440 さんの見逃してました・・・・。 本当に申し訳ございません!!!! >>500 さんと>>440 さんありがとうございます!
502 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 03:22:20 ] >>471 DXの関数はある程度知ったが、アルゴリズムを考える力が圧倒的に足りない感じなのか ヒント通りにやろうとするからめんどくさいのであって、各ゲーのコマンド判定ロジックと同じようにすれば楽かと思うよ
503 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 03:22:27 ] >>489 すぐに返事をいただけまして助かりました。ありがとうございます。 >>491 ご丁寧にプログラムまでいただきありがとうございます。 fopen関係を調べまして何とか自力で解決に至る事ができました。 私はfscanfを用いましたので、1文字ずつのプログラムは助かります。 本当にありがとうございました。
504 名前:451 mailto:sage [2009/07/03(金) 07:43:26 ] 問題のサンプルプログラムが間違ってました。申し訳ないですが再度投稿します。 [1] 授業単元:プログラミング [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9662.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名:gcc [3.3] 言語:C [4] 期限:7/6 よろしくお願いします。
505 名前:未解決課題 mailto:age [2009/07/03(金) 12:23:34 ] >>493 (waseda/kadai2) 2問。N×N行列とN次の列ベクトルをかける関数を作り、v_0を とし、行列Pを としたときにあらかじめ決めたnに対してベクトルv_1,v_2,...,v_nのすべての要素を に従って計算し表示せよ。 7月16日 >>451 >>504 最短路問題を解くアルゴリズムとしてベルマンフォード法がある。 7月6日 >>292 SimMipsにデータキャッシュのヒット率を測定する仕組みを追加し、ヒット率を測定せよ。 7月4日 15:00 >>286 (CODE) ルンゲクッタ法 テンプレ無し(不明) >>273 シンプレックス法のプログラム 7月1日 >>234 >>251 (9608)(2) 正規乱数の発生 (ボックスミュラー法)。平均値を求める関数 標準偏差を求める関数 ヒストグラムを作成 7月5日12:00 >>213 アルゴリズムの異なる2つのプログラムを作成し、処理時間の違いを比較せよ。例:マージソートとバブルソート 7月7日 >>192 >>195 (10_3)マージソート。 6月30日20:00 >>184 2問。T,スタックによる処理順序を確認するU,キューによる処理順序を確認する 6月29日 >>157 f(x)=xe^x-3を、ニュートン法と二分法で解く 6月29日15時 >>134 2問(往復)。整数と4つの演算子(+, -, *, /)から成る計算木から計算式の文字列を作成する関数 6月30日 >>126 クイックソートで昇順に並べ替える。二分木の中間走査によって昇順に並び変える。 6月28日
506 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 12:51:52 ] >>325 コンパイルできなくて、エラーがでました。 ld: 0711-317 ERROR: Undefined symbol: .cos ld: 0711-317 ERROR: Undefined symbol: .pow ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. どうしたらいいかわからないんで教えてください
507 名前:デフォルトの名無しさん [2009/07/03(金) 13:13:41 ] >>506 math.hが上手く読み込めてないからだとは思うけど。 #include <math.h> 、消してない? ダメそうなら、コンパイル環境を教えてもらえれば。
508 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:18:19 ] >>506 コンパイルの引数に、 -lm を追加
509 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:27:00 ] >>506 #include <stdio.h> #include <math.h> >>508 それはコンパイルエラーではないはず。
510 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:39:39 ] >>509 エラーメッセージを出しているのは、ld つまりリンカ。 外部参照のシンボル cos が未定義、見つからないよと言っている。 だから、そのありかを教えてやれば良い。
511 名前:デフォルトの名無しさん [2009/07/03(金) 14:55:39 ] [1] 授業単元:情報基礎B [2] 問題文(含コード&リンク):試験の点数10人分をキーボードから入力し、以下の内容を出力するプログラムを作成せよ。 平均点、標準偏差、得点の高い順の点数リスト(出来れば、バブルソート以外のアルゴリズムでお願いします。) [3] 環境 [3.1] OS: Turbo Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 7月7日まで [5] その他の制限:特にありません。よろしくお願いします。