1 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:18:31 ] あなたが解けない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++の宿題を片付けます 106代目 pc11.2ch.net/test/read.cgi/tech/1209810861/
331 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 16:14:17 ] >>171 >>172 二人とも、ありがとうございました! 返事が遅くなってすみません。
332 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 16:23:42 ] >>288 >>272 修正 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6759.c
333 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 16:26:41 ] お礼の豊作じゃー>< >>329 途中を削除ってのはやってますが、リストの途中に追加、というのを やってないことに気づきました。 そのような処理を実装できなさそうなら言ってください。 >>330 よかったです。こちらも初めてのforkでしたのでドキドキしてました。
334 名前:292 mailto:sage [2008/06/01(日) 16:34:28 ] 大変申し訳ありません。ミスがありましたので訂正します。 [2] ○実験1、マルコフ情報源の生成プログラムの作成 プログラムは double markov(int K ,double alfa, double *a_coeff, double *mem); のように、次数Kとαの値および長さKの係数配列a_coeffとメモリ配列memのポインタを引数としマルコフ情報源出力Xnを返す関数文で書く。 main文では、Kとαの値の設計および配列a_coeffとmemの確保と配列の値の設定を行う。 なお、memは全零に初期設定する。 main文で関数marukovを呼出す度にマルコフ情報源の系列の値が順次得られ、N個のデータをファイルに記憶する。 なお、一様乱数からガウス関数への変換は(1)または(2)の方法を用いる。 ○実験2、マルコフ情報源の生成実験 上で作成したプログラムを用いて、K=1の1次マルコフ情報源についてのみ系列の生成実験を行う。 ここで、係数a1は安定条件より|a1|<1の範囲に限定する必要があり、実験では、a1=±0.1、±0.9の4種類についてマルコフ情報源出力系列の1024個のデータ(最初の1番目のデータは捨てる)をファイルに出力され、それらのグラフを描く。 なお、係数αは出力系列Xnの分散σx^2=1になるように決定する。 問題【1】実験1のマルコフ情報源の生成プログラムを示しなさい。 問題【2】実験2のマルコフ情報源出力系列を図示し、AR係数a1=±0.1、±0.9の場合について、系列の違いを定性的に説明しなさい。 また、その違いの出る理由をK=1のときの式(1)のファイルの周波数応答F(e^jω)=α/(1+a1・e^-jω)より説明しなさい。 F(z)=α/(1+a1・z^-1+a2・z^-2+・・・・・・+ak・z^-K) ・・・・・(1)式 (1)1系列の一様乱数Unから以下の計算により1系列のガウス乱数Gnを得る。 Gn= U12n + U12n+1 + ・・・・・ + U12n+11 −6 (n=0,1,2,・・・・) (中心極限定理) (2)Box-Muller法:2系列の一様乱数 Un,1 , Un,2 から以下の計算により独立な2系列のガウス乱数 Gn,1 , Gn,2 を得る。 Gn,1=(√-2ln(1-Un,1))×cos(2πUn,2) Gn,2=(√-2ln(1-Un,1))×sin(2πUn,2) 急ぎですいません。問題【2】実験2は図示があるので問題【1】だけでもいいのでお願いします。 式など分かりにくいところがありましたら言って下さい。期限は過ぎてもかまわないのでよろしくお願いします。
335 名前:デフォルトの名無しさん [2008/06/01(日) 18:02:21 ] >>334 プログラム以前にマルコフ情報源とか応答特性についての知識がスッポリ抜けてることに驚いた とりあえずこの辺の情報がないと俺できない/(^o^)\
336 名前:316 mailto:sage [2008/06/01(日) 19:11:24 ] >>333 すみません、できなさそうなのでよかったらお願いしますm(v_v)m
337 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:20:16 ] >>367 火曜日まででOKです・・
338 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:35:00 ] >>336 こんなのでも適当に放り込んでみては? work = head->next->next->next->next; work2 = create_node(100); work2->next = work->next; work->next = work2; work = head->next->next->next->next->next->next; work2 = create_node(200); work2->next = work->next; work->next = work2;
339 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:36:17 ] [1] 授業単元: プログラミング1 [2] 問題文 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6761.txt [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: Vidual Studio2005 [3.3] 言語: C++ [4] 期限:2008年6月8日 [5] その他の制限: 初歩関数まで 色々調べて試してみましたがさっぱり 自作関数を定義する方法がいまいち理解できない\(^o^)/
340 名前:デフォルトの名無しさん [2008/06/01(日) 19:42:54 ] >>339 int Min, Max; void minmax(int x, int y, int z); void minmax(int x, int y, int z){ int min=x, max=x; if(min>y) min=y; if(min>z) min=z; if(max<y) max=y; if(max<z) max=z; Min=min; Max=max; }
341 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 20:32:47 ] >>325 キュー blackapples.web.fc2.com/i/cmemo/src/que.txt スタック blackapples.web.fc2.com/i/cmemo/src/stack.txt
342 名前:デフォルトの名無しさん [2008/06/01(日) 21:22:42 ] test
343 名前:デフォルトの名無しさん [2008/06/01(日) 22:03:33 ] >>174 です。 大事なとこが抜けてました。 成績データレコード struct PERSONAL_REC { unsigned char number; (クラス番号) unsigned char reserve[3]; (予備) unsigned char name[80]; short kokugo; short sansuu; }; 成績集計レコード struct CLASS_REC { unsigned char number; (クラス番号) unsigned char reserve[3]; (予備) short kokugo; short sansuu; }; を使うということです! どなたか明日のお昼までにお願いします! m(__)mm(__)m
344 名前:側近中の側近 ◆0351148456 [2008/06/01(日) 22:11:36 ] >>174 (っ´▽`)っ ヒント:qsort
345 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:16:18 ] >>343 pc11.2ch.net/test/read.cgi/tech/1180856695/945 たまたま同じ質問してる人がいるからそっちの結果を見てみたら?
346 名前:デフォルトの名無しさん [2008/06/01(日) 22:22:11 ] >>345 結果出てないんです。 3日間考えたけどわからないんです…。
347 名前:デフォルトの名無しさん [2008/06/01(日) 22:31:23 ] 【質問テンプレ】 [1] 授業単元: CSVファイルをきれいに表示するツールを作りたい [2] 問題文(含コード&リンク):まずはオープンダイアログを作りたい [3] 環境 [3.1] OS: Windows Vista Home Basic [3.2] コンパイラ名とバージョン: VC++.net 2003 [3.3] 言語: C++ [4] 期限: 2008年6月3 [5] その他の制限: 以下の分でビルドエラーがでます private: System::Void file_open_Click(System::Object * sender, System::EventArgs * e) { this->file_open->Click += new System::EventHandler(this, file_open_Click); if(openFileDialog1->ShowDialog() == DialogResult::OK) { System::IO::StreamReader * sr = new System::IO::StreamReader(openFileDialog1->FileName); MessageBox::Show(sr->ReadToEnd()); sr->Close(); }
348 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:43:14 ] マルチする奴は消えろ
349 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:50:43 ] すいません、>>252 >>265 お願いしますm(_ _)m
350 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 22:51:55 ] >>340 ありがとうございます
351 名前:側近中の側近 ◆0351148456 [2008/06/01(日) 22:58:04 ] >>174 (っ´▽`)っ 入力の条件が書かれてないから適当に。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6762.txt
352 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:01:23 ] [1] 授業単元:情報処理 [2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6763.txt [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:LSI-C86 [3.3] 言語: C [4] 期限: 特に無し [5] その他の制限: if文とswitch文まで習いました。よろしくお願いします。
353 名前:174 [2008/06/01(日) 23:13:49 ] >>351 ありがとうございます!!!!!!! 明日までに自分で解析できるように頑張ります!
354 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:19:43 ] >>352 maという、変数を、チャル型に、して、『ma=’−’;』のように、囲んで、 テレビに、出すときは、%cに、してみては、いかがでしょう??
355 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:27:24 ] >>352 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6764.txt
356 名前:352 mailto:sage [2008/06/01(日) 23:30:18 ] >>354-355 アドバイス、ありがとうございます。チャル型というのは、まだ習っていません・・・。 それを使わないとしたら、if型でまた分けるのでしょうか。
357 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:33:28 ] キャラ型(char型)をチャルってのは・・・w
358 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:36:07 ] たまにチャーと言ってしまいます。
359 名前:デフォルトの名無しさん [2008/06/01(日) 23:38:56 ] ノッってるときはカールって言ってる
360 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:39:46 ] >>352 #include <stdio.h> int main(void) { int score; printf("点数を入力してください:"); scanf("%d", &score); if(score > 100) printf("評価できません。\n"); else if(score == 100) printf("評価はA+です。\n"); else if(score < 60) printf("評価はFです。\n"); else { switch(score/10) { case 9: printf("評価はA"); break; case 8: printf("評価はB"); break; case 7: printf("評価はC"); break; case 6: printf("評価はD"); break; } switch(score%10) { case 9: case 8: case 7: printf("+"); break; case 0: case 1: case 2: case 3: printf("-"); break; } printf("です。\n"); } return(0); }
361 名前:352 mailto:sage [2008/06/01(日) 23:44:43 ] >>360 おおおおお!!!!ありがとうございます!!
362 名前:347 [2008/06/02(月) 00:30:24 ] 意味不明な質問してしまって、すみません・・・
363 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:50:38 ] >>362 なんかしらんけどエラーメッセージ貼ってみたら?
364 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 06:16:33 ] いやソースをよこせ
365 名前: ◆tr.t4dJfuU mailto:sage [2008/06/02(月) 09:12:24 ] >>332 大変ありがとうございました。
366 名前:デフォルトの名無しさん [2008/06/02(月) 10:27:30 ] [1] 授業単元:情報処理 [2] 問題文(含コード&リンク)kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6765.txt [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:VC9.0 [3.3] 言語: C [4] 期限: 特に無し [5] その他の制限: ファイルの入出力あたりがどうもこんがらがってしまって
367 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 11:59:01 ] >>366 難しく考えることないでしょ。 入力ファイルオープン 全部を一旦エリアAに読み込み(この段階で長さも判明) 入力ファイルクローズ 同じ長さのエリアBをもう1つ確保、エリアA->エリアBへ判定転送処理を行う。 出力ファイルオープン 完成したエリアBを書き込み 出力ファイルクローズ
368 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 12:10:56 ] >>367 ファイルサイズが大きいとアレじゃない? fseekとか使ってオンメモリで処理できるサイズのバッファごとに反転させるほうがよさげ。
369 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 12:12:49 ] と思ったけど問題主の雰囲気からいってそれで十分かもだったorz おさわがせしますた。
370 名前:367 mailto:sage [2008/06/02(月) 12:15:41 ] >>368 でもPCのメモリでも足らないとなると 今度は入力側と出力側の両方のファイルを開けておいて 入力側はシークで最後までファイルポインタを移動して 読み込み->判定・加工処理->出力側へ・・・
371 名前:デフォルトの名無しさん [2008/06/02(月) 12:26:49 ] [1] 授業単元:情報実験 [2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6767.txt [3] 環境 [3.1] OS: Mac OS X [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 特に無し [5] その他の制限:ヘッダはstdio.hとstdlib.hしか扱ってないのでこれらのみでお願いします
372 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 12:29:59 ] いきなり答えのサイト貼るのはありかな? www.geocities.jp/ky_webid/algorithm/011.html
373 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 13:01:39 ] >>366 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6768.txt
374 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 13:03:09 ] >>372 構造体が違うんで完璧な答えにはならんけど、ヒントにはなる。
375 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 13:14:53 ] まあリスト(線、循環、双方向)とか2分探索木とかってネットで探せば いくらでもサンプルはでてくるからな〜
376 名前:368 mailto:sage [2008/06/02(月) 13:33:29 ] >>370 両方開きっぱでいいと思うよっていうか、いいたかったことを>>373 が実装したw
377 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 13:53:46 ] >>373 の実装だとちょっとおかしくね? でかいファイルを扱うことを想定してるのであればmallocでわざわざワークを 確保しなくてもリードしてそのまま書き込めばいい。 小さいファイルを扱うことを想定してるのだと読んだあとわざわざ入力側を 開けっ放しにする必要があるのかどうか・・・
378 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 13:56:14 ] [1] 授業単元:プログラミング [2] 問題文:スタック,キューの理解 リスト構造によるスタックとキューそれぞれについて,格納されている 要素数を取得する方法を利点,欠点を交えて説明せよ。 また,取得した要素数の用途について考察せよ。 [3]言語:C [4] 期限:2008年6月5日まで プログラム組む問題ではないですが、調べてもわからなかったのでお願いします。
379 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 13:58:46 ] あれホント。よく見てなかったよー。 ある程度の大きさのバッファに読み込んで、それを逆にして出力を 繰り返してるものだと思い込んでた。 1バイトずつ読んで書いてより、ある程度のバッファ単位で処理したほうが 多分速くなると思うんだ。HDDのキャッシュ的に。
380 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 14:04:50 ] >>378 www.mm.ics.saitama-u.ac.jp/~ohsawa/Lect/dstr/04.pdf スタックというのはアセンブラなんかでcall命令を使う際に レジスタの内容や戻り先アドレスを格納するのに使ったりしますね。 www.geocities.jp/naosacra/mops/forbeginner/8.html これをリスト構造でってのは使うことあるのかな? アセンブラなんかだとスタックポインタというのがあってそれで管理してるんですけどね。 キューというのはメッセージキューなんかで使われるものです。 FIFOとかいう言葉も関連します。 まあこれはリスト構造を使って実現することが多いですけど。
381 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 14:05:00 ] スタックとキューの実装方法によらない? リスト構造であるという点で同じであれば何か小細工をしない限り 要素数を数えるコストは同じだと思うので、利点欠点は無いと思う。 用途は制限かけたいときに使えるとかじゃないの?
382 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 14:06:25 ] >>379 windowsの場合だと一度読みに行くとキャッシュにあがってるから 1バイト読みでも問題ないんじゃないかな? ただファイルの最終から読む場合はキャッシュの扱いはわからんw
383 名前:373 mailto:sage [2008/06/02(月) 14:28:52 ] >>366 言われたとおりバッファ消しました kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6769.txt
384 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 14:41:52 ] >>371 をやり始めたんだが、なんかその補足に書かれていることから すでに間違っているが・・・とりあえず適当に書き換えておきまつ
385 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 15:45:44 ] 判定処理もないじゃん。
386 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 15:50:46 ] >>366 >その際、逆順バイト列内に0x54,0x450x53,0x54があればファイルの先頭からのオフセットを表示する >また、ファイル長は不定とする これってさ >その際、逆順バイト列内に0x54,0x45,0x53,0x54があればファイルの先頭からのオフセットを表示する >また、ファイル長は不定とする ということでOK? 後オフセットを表示するってのは標準出力でいいのかな?
387 名前:デフォルトの名無しさん [2008/06/02(月) 15:52:50 ] [1] 授業単元: プログラミング [2] 問題文:簡単なアニメーションを考案して作成せよ(できればマウスやキーイベントも考慮) [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限:2008年6月2日24時まで まったくわかんねー\(^o^)/
388 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 15:54:35 ] >>387 なんだよ、その漠然とした例題はw
389 名前:デフォルトの名無しさん [2008/06/02(月) 15:58:43 ] 自分でやれ
390 名前:デフォルトの名無しさん [2008/06/02(月) 16:00:13 ] >>388 #include <math.h> #include <GL/glut.h> #include <time.h> float R_ball=0.1, x_ball=0.0, y_ball=0.5; float dx, dy; float g=0.01, elasticity_x=0.98, elasticity_y=0.98; void gdisc(float xc,float yc, float r){ float x, y, dt; int i,N=60; dt=2.*M_PI/(float)N; glBegin(GL_POLYGON); for(i=0; i<N; i++){ x=xc+r*cos((float)i*dt); y=yc+r*sin((float)i*dt); glVertex2d(x,y); } glEnd(); } void myDisplay(void){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(0., 0., 0.); gdisc(x_ball,y_ball,R_ball); glutSwapBuffers(); } void myIdle(){ x_ball=x_ball+dx;
391 名前:デフォルトの名無しさん [2008/06/02(月) 16:01:12 ] if(x_ball<=-1.+R_ball){ x_ball=-1+R_ball; dx=-dx*elasticity_x; } else if (x_ball>=1.-R_ball){ x_ball=1.-R_ball; dx=-dx*elasticity_x; } y_ball=y_ball+dy; if(y_ball<=-1.+R_ball){ y_ball=-1.+R_ball; dy=-dy*elasticity_y; dx*=0.99; } else if (y_ball>=1.-R_ball){ y_ball=1.-R_ball; dy=-dy*elasticity_y; dx*=0.99; } dy=dy-g; Sleep(1); glutPostRedisplay(); } int main(int argc, char *argv[]){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA); glutCreateWindow("Ball");
392 名前:デフォルトの名無しさん [2008/06/02(月) 16:01:50 ] glClearColor(1.0, 1.0, 1.0, 0.0); glutDisplayFunc(myDisplay); glutIdleFunc(myIdle); srand(time(NULL)); dx=0.01*(rand()%5+1); dy=0.01*(rand()%5+1); glutMainLoop(); return 0; } 自力でここまでやりましたがこれだと駄目と言われたので これに何らかのキーボードイベントを入れたいわけです で、そのキーボードイベントの入れ方がわかんねー\(^o^)/ というわけです。
393 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 16:02:13 ] ソース貼るならできればテキストファイルをどこかロダにあげて そのリンクを・・・w
394 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 16:03:55 ] >>392 pc11.2ch.net/test/read.cgi/tech/1183861564/83 なんてどう?
395 名前:デフォルトの名無しさん [2008/06/02(月) 16:06:37 ] アニメーション 1 アニメーション ピクセルの色を制御することができれば、図形を自由自在に表現することができるようになる。更に、図形の 位置、形状または色を徐々に変化させて図面を更新することにより、アニメーションの実現が可能である。そのポ イントは 1. 図形の位置、形状または色を少し変化させる 2. 変化した図面を再描画する 3. 手順1 へ戻る の3 点にある。「繰返して図形に変化を与える」には関数 void glutIdleFunc(void (*f)(void)) を用いて「変化を与える」関数fを指定する。指定された関数fは繰り返して呼び出されるため、その中に図形 の座標、形状、色を変化する文があれば、定期的に図形に変化を与えることになる。更に、変化した場合再描画 する関数 void glutPostRedisplay() を呼び出すことで図面を更新することを指示する。 関数glutIdleFunc で指定した関数f はイベントが起きていない限り繰返して呼び出される。図面更新の時間間 隔の調整はSleep(int seconds) 関数が有効だが、繰り返しの時間間隔はやはりCPU の性能やコンピュータに与え られているタスクにより異なる。CPU の性能などによらずに時間間隔を制御したい場合は、関数 void glutTimerFunc(unsigned int msecs, void (*f)(int value), int value) を使うことが可能。この関数は指定されたミリ秒数msecs の後に関数f(int value) を1 回呼び出す。また、呼び出 しを区別するために、与えられた整数value を関数f に渡す。関数glutTimerFunc を用いてアニメをつくるには、 繰り返しを実現するために関数f(int value) の中で最後にglutTimerFunc を再度呼び出すように指示しなければ ならない(glutIdleFunc を用いる場合は不要)。 以下は例を用いてglutIdleFunc の使い方を説明する。ウインドウの中で横を移動し、境界に当たると移動方向 を逆転するボールのアニメーションを考えよ。このアニメは塗りつぶした円形の描画と上記の仕組みを用いて実 現でき、プログラムBall.c を用いて簡単に説明する。
396 名前:デフォルトの名無しさん [2008/06/02(月) 16:06:56 ] >>394 たしかに動くけどw
397 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 16:09:58 ] int main () { for(;;) { :処理 i f (Esc押されたら) break; } return 0; } これでいいんじゃね(>ω< =3
398 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 16:11:35 ] >>397 それじゃあ無理だろw ソース全部貼ってるのが主だとすればgl使ったものなので
399 名前:デフォルトの名無しさん [2008/06/02(月) 16:16:35 ] >>398 glです。 できれば何かのキーを押したら重力がなくなるとかのイベントがいいです
400 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 16:16:37 ] >>341 ありがとうございます!
401 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 16:25:02 ] >>387 >>390-392 >>395 のようにじゃなくてソースをどこかに上げたほうがいいと思うぞw >>1 にロダも貼ってあるし
402 名前:デフォルトの名無しさん [2008/06/02(月) 16:32:31 ] void myKeyboard(unsigned char key, int x, int y){ switch(key){ case 'a': g=0.; glutPostRedisplay(); break; 課題のサンプルがあってこんなのを入力したらなんかできましたw ありがとうございますw
403 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 16:35:19 ] >>402 >>387 なのか? 名前欄に質問した際のレス番号いれてくれないとわかりにくいぜ。
404 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:12:12 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6772.txt [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:Vidual Studio2003 [3.3] 言語:C++ [4] 期限:今日の23時59分59秒まで [5] その他の制限: 繰り返し関数return使えば問題ないと思われます。よろしくお願いします
405 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:16:40 ] >>404 www.geocities.jp/supermisosan/newtonhou.html
406 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:16:56 ] >>292 >>334 のものですが過去レポという最強のものを手に入れたのですがそれがC言語なのです。 出来れば今日中にお願いしたいのですが、↓のものをC++に変換して頂けないでしょうか? #include<stdio.h> #include<stdlib.h> #include <math.h> double markov(int K,double alfa,double *a_coeff,double *mem); void main(void){ int i; double *a_coeff,*mem,alfa,*x; FILE *fp; int N=1024,K=1; char *file_name="output.dat"; if((fp=fopen(file_name,"w"))==NULL){ printf("%s can't open",file_name); exit(-1); } x=new double [N]; a_coeff=new double [K]; mem=new double [K]; for(i=0;i<K;i++){ mem[i]=0.; } a_coeff[0]=0.1; alfa=sqrt(1.-a_coeff[0]*a_coeff[0]); for(i=0;i<N;i++){ x[i]=markov(K,alfa,a_coeff,mem);
407 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:17:20 ] if(i!=0){ printf("%d\t%f\n",i,x[i]); fprintf(fp,"%d\t%f\n",i,x[i]);} } printf("\n"); fprintf(fp,"\n"); delete[] mem; delete[] a_coeff; delete[] x; fclose(fp); } double markov(int K,double alfa,double *a_coeff,double *mem) { int i; double u1,u2,g,x=0.,PI=3.1415926; u1=(1./(RAND_MAX+1.))*rand(); u2=(1./(RAND_MAX+1.))*rand(); g=sqrt(-2.*log(1-u1))*cos(2.*PI*u2); for(i=K-1;i>=0;i--){ x+=a_coeff[i]*(mem[i]); if(i-1>=0) mem[i]=mem[i-1]; } mem[0]=alfa*g-x; return (mem[0]); }
408 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:19:07 ] >>405 これみても分からない俺ガイル。。 タスケテ('A`)
409 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:22:35 ] >>406 最初の三行を #include <cstdio> #include <cstdlib> #include <cmath> using namespace std; に変えて、 void mainの行を int main() { に変えればOK。
410 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:27:21 ] >>409 即レスありがとうございます!大変助かります
411 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:34:04 ] >>410 >409でいいのか? 本当にいいのか?w
412 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:41:53 ] >>411 どうなんでしょうか?ww >>409 =>>411 ですか?
413 名前:411 mailto:sage [2008/06/02(月) 19:48:07 ] 要は、>406の要求する「C++」が何を指しているのか、だな。 C++としてコンパイルできるだけでいいのなら、>409でいい。 iostreamを使わないといけないなら入出力周りを作り直す必要がある。 まぁまさか、この程度でオブジェクト嗜好に則ってクラス設計しろってことはないだろうけれど。
414 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:55:19 ] >>413 なんか難しいんですけど、iostreamを使ったやり方だとかなり変更が必要ってことですか? 出来ればiostreamの方がいいのですが。
415 名前:371 mailto:sage [2008/06/02(月) 19:59:19 ] >>372 を見ましたがよくわかりませんでした…。 各関数単体でもよいのでよろしくお願いします。
416 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:00:07 ] 過去レポを手に入れたが理解できず、C++にコンバート依頼まで するような相手にみんな親切だな。 他人のソースコードを許可無くうpしてんのかなあ
417 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:01:41 ] >>415 /* 循環リストに要素を追加する */ void addlist(void) /* 循環リストから要素を削除する */ void deletelist(void) /* 循環リストの内容を表示する */ void showlist(void) という関数が記載されていたが、ほしいのはこれじゃないってことー?
418 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:02:37 ] >>414 つーか、>406もC++だね。古い流儀で書かれているけど。 寧ろ、new/deleteを使っているからCじゃコンパイルできない。 いい練習だと思って、自分でiostream版に書き換えたら?
419 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:36:46 ] >>418 ちょっと考えましたけど自分にはちょっと・・・・。 甘えてばっかりいたらいけないと思いますが、提出期限が明日で時間的に厳しいので教えていただけるとうれしいです。
420 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:52:26 ] >>419 提出期限がよくわからない。 結局いつが期限なの?
421 名前:415 mailto:sage [2008/06/02(月) 20:53:44 ] >>417 欲しいのは大体それと同じなんですが、 例えばaddlistなら追加するデータがint型の整数じゃなくてData型の整数と文字じゃないですか? それをどうやって渡すのかよくわからなくて・・・
422 名前:デフォルトの名無しさん [2008/06/02(月) 20:55:02 ] すいません >>269言語はC++でコンパイラはVisual Stadio2003です。宜しくお願いします。
423 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:56:12 ] >>420 すいません、提出期限は明日です。 期限: 2008年6月1日24:00だったのは他のレポートもありましてそれの兼ね合いからです。
424 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:57:04 ] >>421 addlistのなかで整数と文字を入力させて、それをData構造体に放り込めばよいのでは?
425 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:04:39 ] >>424 いやそんなことしなくても>>372 のサンプルで>>421 で言ってることに十分対応できる。 >>371 の実行例が最初よくわからんかったけど (0) Insert a Node (1) Delete a Node (2) View the List (3) exit : でコマンド待ち 0でエンターすると No.: Name: 入力になって終わると (0) Insert a Node (1) Delete a Node (2) View the List (3) exit : を再度表示なので
426 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:07:50 ] >>423 明日の何時なの?ここでは「自分にはちょっと・・・・」とか言ってるのにさ、 自信満々に「作ってきましたあ!」って言って丸パクリの過去レポ出しちゃうの? 俺がその立場なら「…え?これで、、、マルコフ情報源、生成できる?ねぇ?」 とかカマかけられただけでションベン漏らすね。間違いない。 そんなこと想像したらもう今日寝れねえな。
427 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:08:52 ] >>419 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6773.txt
428 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:13:14 ] >>427 ちょっと見てみたんですけど自分には難しすぎますので教授を 納得させられるようなコメントを記述してもらえませんか? 提出が明日なので何とかお願いします。
429 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:17:39 ] >>371 作りかけ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6774.txt addlistのところは参考程度にいじった
430 名前:427 mailto:sage [2008/06/02(月) 21:20:13 ] >>428 俺はC++に直しただけであってマルコフなんたらってのは知らん
431 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:22:06 ] しかし、勉強になるし面白いなw 社会に出たらほとんど組まないであろうニュートン法のプログラムとかw さすがに微分積分とか苦手なんで無理w
432 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:24:34 ] 俺もこういう数学的な何かを活用する場面に出くわした事はないなー。 会社によってはそればっかりになるんだろうけどねw
433 名前:406 mailto:sage [2008/06/02(月) 21:34:52 ] >>426 明日の4時です。でもその前に講義があるので実質明日の午前中までです。 ゼミの先生はあまり突っ込んで聞いてこないので大丈夫だと思います。 >>427 助かりました、本当にありがとうございます! >>428 偽者が現れるとはw
434 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:36:51 ] >>371 の例題って不親切だよね。 リスト追加の際は表示する例が載ってるけど ノード削除、ノードの表示に関する仕様が 無い。 どうやって作れっていうんだろうな。
435 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:41:27 ] センスで
436 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:17:42 ] [1] 授業単元:プログラミングU [2] 問題文(含コード&リンク):0〜20までの実数の乱数を発生させなさい [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Vidual Studio2005 [3.3] 言語:C++ [4] 期限:2008年6月3日12:00まで [5] その他の制限:特になし (double)rand() / ((double)RAND_MAX + 1)が0から1までの乱数で (rand() %20 + 1)が0〜20までの整数の乱数というのはわかるのですがどう組み合わせればいいかお願いします。
437 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:21:41 ] c言語というより、知能の問題な気がする
438 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:31:08 ] >>436 >(double)rand() / ((double)RAND_MAX + 1)が0から1までの乱数で >(rand() %20 + 1)が0〜20までの整数の乱数 こう思う時点で問題あり...
439 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:31:16 ] >>436 ぜ、0から1までの乱数を20倍してみてはいかがでしょうか。。。
440 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:33:59 ] >>371 は麻呂がクソースを書いている最中でおじゃ〜る
441 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:36:14 ] rand()なんて使ったこと無いや。 ちなみにRAND_MAXの値って環境で変わるの?
442 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:36:41 ] >>436 さんに意見するな!!!!
443 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:40:22 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6776.txt [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:gcc 3.4 [3.3] 言語: C言語 [4] 期限:出来るだけ早くが望ましいです。 [5] その他の制限: loadする際にmallocやfseekなど使用、構造体を3つ用意、グローバルなポインタも用意すること かれこれ、1週間悩んでます。完璧にとは言いません、どなたか力を貸してください。
444 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:42:20 ] >>443 悩んだなりに作ったソースプリーズ
445 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:44:28 ] しかしコマンドでaddとかってPC88のころのAVGみたいだなw
446 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:45:03 ] >>443 興味深いなあ。 生徒によって異なる実装が行われやすいような問題になってるね。
447 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:47:03 ] コマンドの扱いってどうすればいいんだろ? addt とか間違った場合の挙動は? 何もsaveしてない状態でloadしたら? 設問ってこんないい加減なの?
448 名前:421 mailto:sage [2008/06/02(月) 22:49:34 ] 皆様の助言の下、なんとかそれっぽいものが作れました。 教えてくださった方々、本当にありがとうございました。 >>434 ですよね。結局自分で解釈して作ってみましたが・・・
449 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:51:40 ] >>448 なんだ、できるんじゃんw おつかれさーん
450 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:58:16 ] >>444 すいません、学校のPCにソースが入ってて自宅のPCには入ってないんです。 主に学校で作業を行ってて、そこで分からなかった関数など自宅で調べてる感じなので、すいません。 >>445 そうなんですか?よく知らないんですけど、そうなってましたw >>446 そうみたいです、だから早く出来た人は皆答え違ってるみたいです。 >>447 間違えた場合はもう1度メニューを出す形でお願いします。 saveについては自分も分かってません、同じ様なケース考えたんですがどう対処していいか分からなくて。 されないことを祈るというカタチでお願いしますw明日に先生に質問してみます。 設問かなりいい加減です、動作例とバイト数だけ書いてあって、後は自分で考えてって感じでしたorz
451 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:01:26 ] >>448 麻呂がクソースを書くって言ったじゃないでおじゃるか〜〜
452 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:01:58 ] >>450 んじゃまた明日ソース持っておいで。 途中まで作ってるならそれベースのほうが理解できるでしょ。 覚えてる範囲で再現してもいいけど、ちょっと難しいでしょ?
453 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:02:52 ] [1] プログラミング [3][3.1] XP [3.2] 不明 [3.3] C [4] 期限: 080604 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6775.txt のプログラムを実行すると 1>c:\documents and settings\keita\my documents\visual studio 2008\projects\1212\1212\1212.cpp(13) : error C3874: 'main' の戻り値の型には、'int' を使用してください。'stack' は使用できません というエラーが起こります
454 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:04:41 ] [1]授業単元 C言語 [2]問題 平均、分散、標準偏差を求めよ。 [3]環境 vista コンパイラ cygwin [4]期限 明日の昼まで [5]その他 ヘッダーはstdio.h stdlib.h math.hのみ? 情報が少ないかも知れませんがよろしくお願いします。
455 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:06:00 ] >>453 main() → int main()
456 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:06:08 ] >>453 main() の戻りが消えてる。 void main() とか int main() とかになるのが普通
457 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:07:48 ] >>452 分かりやすいとは思いますが、ほとんど作ってないですorz フローチャート作成にほとんどの時間費やしてやっとこさソース書いてみようってところです。 しかもそのフローチャート、合ってるか先生が休んだおかげで確認もしてませんorz まぁ、ソース作成してる時にどう処理するんだ?って疑問が沢山出てきたんで明らかに間違ってるんでしょうが・・・。 明日また作成するので出来るところまでやってみようと思います。 明日、宜しくお願いします。
458 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:08:04 ] >>436 #include <stdio.h> #include <stdlib.h> #include <time.h> //0から1までの乱数 double RandBetweenFromOneToZero() { return (double)rand() / ((double)RAND_MAX + 1); } //0から19までの乱数 int RandBetweenFromZeroToTwenty() { return rand()%20; } int main() { double drdm; srand((unsigned)time(NULL)); drdm = RandBetweenFromOneToZero() + RandBetweenFromZeroToTwenty(); printf("%lf \n",drdm); return 0; }
459 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:13:34 ] >>457 お。いい子だーw きっとちゃんとしたソースもらえると思うよ。がんばってね。 ってかさ、このスレって前からこんなピリピリした雰囲気だった? なんか殺伐としてる。。2chだからといえばそうなんだけど><
460 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:14:29 ] >>454 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6777.txt
461 名前:448 mailto:sage [2008/06/02(月) 23:14:34 ] >>451 自分のソースに自信がないので>>451 さんのソースも見せていただけますか? 他にも作ってくれていた方がいたら見せていただけると有り難いです。
462 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:15:35 ] 今、カニ雑炊を食べ終わったから、書き続けているでおじゃる
463 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:20:08 ] 一休さんかよw …まさかとは思うが、作ったものをまずうpしてみ? 足利将軍様はしばらくうp待ってみてくだされ
464 名前: ◆tr.t4dJfuU mailto:sage [2008/06/02(月) 23:25:32 ] 272に質問を書いたものです。やさしい職人さんに>>332 のプログラミングを書いていただいたのですが、 画像は読み込めるのですが、RGB値を出す事が出来ませんでした。再びですが、どなたかよろしくお願いできませんか? 解決方法もともにおいえてください。以下に再び質問を欠かさせていただきます。 [1] 実験解析 [2] プログラムと同じフォルダ内のbmpファイル(256色)(200*300pix)をプログラム実行 時に読み込ませ,1pixごとにそのRGB値を調べさせてCSV形式で書き出すプログラム [3] 環境 [3.1] OS:Xp [3.2] BCC Developer [3.3] 言語 c [4] 期限: 無期限ですが,できるだけ早いうちに宜しくお願いします. [5] その他の制限:特にはありません.私は初心者なので,後学のために解説等が 含まれていたらうれしいです.
465 名前:448 mailto:sage [2008/06/02(月) 23:29:00 ] >>463 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6779.txt
466 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:34:25 ] >>464 解説というかBMPのファイル仕様がこうなってる www.kk.iij4u.or.jp/~kondo/bmp/ でも>>322 のプログラムはヘッダ部分を決め打ちで読んでるな・・・
467 名前: ◆tr.t4dJfuU mailto:sage [2008/06/02(月) 23:40:08 ] >>466 ということは、画像読み込みから変更したほうが良いという事なのでしょうか?
468 名前:316 mailto:sage [2008/06/02(月) 23:43:09 ] >>323 >>328 どちらも実行できました! >>338 追加実行できました。 みなさんありがとうございました!
469 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:44:46 ] >>463 もう少し待ってたもう、今最後の free(); 処理の部分を書いているでおじゃ〜る
470 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:50:59 ] [1] プログラミング演習 [2] x.datというファイルがあり その中には 1 4 5 6 16 8 9 ,,,,,,,,,というような形式で数字がN個蓄えられている このファイルを読み込み、中に入っている数字を配列x[i]の中に蓄え x[0]からx[N]まで全て足した値を求めなさい という問題です 言語:C言語 制限などはありません よろしくおねがいします [3] 環境 [3.1] OS:Xp [3.2] BCC Developer [3.3] 言語 c [4] 期限: 無期限ですが,できるだけ早いうちに宜しくお願いします. [5] その他の制限:特にはありません.私は初心者なので,後学のために解説等が 含まれていたらうれしいです.
471 名前:470 mailto:sage [2008/06/02(月) 23:52:23 ] すいません環境以下の方の部分は無視してください、ごめんなさい
472 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:53:45 ] ttp://www13.plala.or.jp/kmaeda/winc/dos_pai.htm の円周率を求めるプログラムで小数点以下が4桁で区切られてるんですけど何処で定義してるんでしょうか?
473 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:16:55 ] >>455 >>456 迅速な回答ありがとうございます。 両方を試してみた結果 (12) : error C2628: 'stack' の後に 'int' を続けて記述できません(セミコロン ';' で区切ってあるか確認してください)。 (13) : error C3874: 'main' の戻り値の型には、'int' を使用してください。'stack' は使用できません のようなエラーが出てしまします。
474 名前:454 mailto:sage [2008/06/03(火) 00:21:41 ] >>460 ありがとうございます! これでテストも乗り切れます
475 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:23:47 ] >>371 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6780.txt
476 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:24:38 ] >>473 struct stack{ char list[STACKMAX]; int num_of_data; }; にする
477 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:38:14 ] >>470 #include <stdio.h> #define N 7 int main() { int iary[N]={0}; FILE *fop = fopen("x.dat","r"); int i,sum = 0; for(i = 0; i < N; i++){ fscanf(fop,"%d",&iary[i]); sum += iary[i]; } printf("sum = %d \n",sum); return 0; }
478 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:43:37 ] >>470 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6781.txt
479 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:45:58 ] >>470 C勉強中です。突っ込みあればよろしくです。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6782.txt
480 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:47:04 ] >>470 の人気にshit!
481 名前:470 [2008/06/03(火) 00:55:37 ] 477さん478さん479さん本当に、ありがとうございます。 コメント等が丁寧なおかげで私でも理解できそうです。ありがとうございます。
482 名前:470 mailto:sage [2008/06/03(火) 00:56:27 ] すいませんsage忘れました。
483 名前:366 mailto:sage [2008/06/03(火) 01:19:22 ] >>386 そうです そのほか答えてくださった方もありがとうございます。規制で書き込み遅くなって申し訳ないです
484 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:02:21 ] 疲れたでおじゃる。麻呂のクソースは今日中にということで、寝るでおまる。 deleteのところが、ちと不完全で。先頭のレコードを消すと バグったでおじゃる。
485 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:07:48 ] [1] 授業単元:画像情報処理 [2] GIF形式の画像を8ビットにビットスライスし、最下位ビットプレーンの各画素を変更する手法で電子透かしを作りなさい。 各画素は0〜255の明るさの階調があり、それを1ずらすことによってデータを埋め込む。 例えば、画像の6行1列目〜6行8列目の画素に01010001というデータを埋め込む場合、 元の明るさのデータが「133 132 132 134 133 133 134 134」だとすると、 埋め込んだ後のデータが「134 133 132 135 134 134 134 135」となるよう、 0の場合偶数に、1の場合奇数にデータを変更するようなプログラムとしなさい。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2008年6月9日 23:00まで [5] その他の制限: 特になし よろしくお願いします。
486 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:22:25 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6783.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: MS VS2005 [3.3] 言語: c++ [4] 期限: 2008/6/4 [5] その他の制限: 特に無し 駄目だ上手く組めない。。。。 宜しくお願いしますorz
487 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:29:42 ] >>486 つstatic変数
488 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:30:56 ] #include <stdio.h> double kekkahozon( double i ){ static double j; j+=i; return j; } void main(){ double x; int i; for(i=1; i<=10; i++){ x = kekkahozon( (double) i ); printf("合計: %f\n", x); } }
489 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:31:38 ] double kekkahozon( double d ) { static ret = 0; return ret += d: }
490 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:33:58 ] 被った上にミスった static double ret = 0;
491 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 04:43:45 ] [1] 授業単元:プログラミング(C) [2] 問題文(含コード&リンク):コマンドラインで指定したファイルの内容を 16進数で標準出力にダンプする [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: Visual Stdio [3.3] 言語: C [4] 期限: 2008/06/04 [5] その他の制限: 特になし
492 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 05:05:55 ] >>491 >>491 バグ入りだからな #include <stdio.h> int main(int argc,char **argv){ FILE *f;unsigned char paragraph[16];int read_c,i; argc--;argv++; while(argc--){ f=fopen(*argv++,"rb"); if(f){ do{ read_c=fread((void*)¶graph,1,16,f); for(i=0;i<read_c;i++)printf("%02X ",paragraph[i]); printf("¥n"); }while(read_c==16); fclose(f); }} return 0; }
493 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 05:49:57 ] >>476 こんな初歩的なとこまでありがとうございました。
494 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 08:33:42 ] C言語でsinのマクローリン展開を10項まで実行するぷろぐらむができない・・・
495 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 09:12:54 ] 頭悪いんだねw
496 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 10:42:14 ] 再度おねがいします。 [1] 授業単元:プログラミング [2] 問題文: (1)int 型の配列 vx の要素に順に 0 以外の 5 つの整数をキーボードから読み込んで, (2)vx[0] から vx[4] の逆数(1/vx[0], ... ,1/vx[4])を順に double 型の配列 vy[0]からvy[4]に代入して (3)vy の要素を順に表示するプログラムを作成せよ. なお,(1)と(2)はひとつの for 文の中に含めても良いが,(3)は別のfor文を使って書け. 配列 vy の型は double であり,計算も double で行うことに注意。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2008/06/03 [5] その他の制限:特になし
497 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 10:42:23 ] 誰かまとめ宜しゅう
498 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 11:07:05 ] >>496 #include <stdio.h> int main(void) { int i, vx[5]; double vy[5]; for(i=0; i<5; i++) { do { printf("input vx[%d]:", i); scanf("%d", vx + i); } while(!vx[i]); vy[i] = 1.0 / vx[i]; } for(i=0; i<5; i++) printf("vy[%d] = %f\n", i, vy[i]); return 0; }
499 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 11:10:12 ] >>474 どうでもいいけど、>460は仕様を満たしていないぞ。
500 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 11:12:21 ] >>498 scnaf()に失敗した場合、vx[i]の値は不定だから好ましくないね。 つーか、失敗した後のフォローもしてないんだからそのdo-while自体が無意味だと思う。
501 名前:500 mailto:sage [2008/06/03(火) 11:14:38 ] あー、0を除外しないといけないのか。じゃぁ>498でもいいや。失敬。
502 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 11:22:24 ] 入力ミスって無限ループが落ち
503 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 11:23:33 ] 正直、どうでもいいよ。
504 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 11:28:32 ] 「3がつく」をどう判定していいのか判らないのでお願いします。 [1] 授業単元: C/C++演習 [2] 問題文(含コード&リンク):() ・「世界のナベアツ」問題を実装せよ。 コマンドライン引き数で指定した数値が「3の倍数」か「3がつく」かを判定し、 該当した場合は「アホ」と出力すること。 尚、数値以外を指定された場合は問答無用で「どアホ」と出力すること。 ・ポイント *コマンドライン引き数の取り扱い *文字列数値変換関数の利用 *標準出力関数の利用 [3] 環境 [3.1] OS: (Windows/Linux/等々) OSに依存しないこと [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) 取り敢えず、gccを使えとのことです [3.3] 言語: (C/C++/どちらでも可 のいずれか) どちらでも可 [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 今日の夕方 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 特に指定がないので標準関数だけでお願いします
505 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 11:29:31 ] 宿題スレでscanfにケチつけるってw
506 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 11:30:37 ] >>505 >503
507 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 12:42:08 ] >>371 ttp://www.bohyoh.com/Books/CalgoA/EX/ALGOEX0906.html
508 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:06:13 ] [1] 授業単元: C [2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6784.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Cygnus [3.3] 言語: C [4] 期限: 2008年6月5日17:00まで [5] その他の制限: 関数使用 なるべくシンプルなものだとありがたいです>< よろしくお願いします!
509 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:20:43 ] Cygnusなんてコンパイラあったっけ?
510 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:28:30 ] >>509 学校から渡されました。 Cygnus.batでコンパイルします。
511 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:41:49 ] [1] 授業単元: C++ [2] 問題文 2008年は閏年(うるうどし)である。 現在の暦において閏年は, 地球が太陽の周りを公転する周期が, 約365.24日であることに由来する調整法である。 閏年でない年は平年という。 キーボードから西暦を入力し 入力された年が閏年かどうか判定する プログラムを作成しなさい [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++/ [4] 期限: 6月3日5時まで [5] その他の制限: なし。
512 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:42:13 ] [1] 授業単元: C++ [2] 問題文 今年(2008年)はオリンピックイヤー (オリンピック開催年)である。 8月8日から24日までにかけて,中国の北京で 夏季オリンピック第29回大会が開かれる。 次の説明はオリンピックの開催年についての説明である。 キーボードから変数year に入力された年号について, 開催された年に第何回大会が開催(中止)されたか 画面に表示するプログラムを作成しなさい。 またオリンピックイヤーでない場合は、 画面にその旨メッセージを出力すること。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++/ [4] 期限: 6月3日5時まで [5] その他の制限: なし。 2問ありますが、よろしくおねがいします。
513 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:42:22 ] 誰か、エスパー頼む
514 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:42:50 ] >>508 #include <stdio.h> #include <math.h> #define PI 3.14159265358979323846 int check_side(int side) { return side > 0; } int check_angle(int angle) { return 0 < angle && angle < 180; } int main(void) { int side[2], angle, i; for(i=0; i<2; i++) { while(1) { printf("辺%d(cm):", i+1); scanf("%d", side + i); if(check_side(side[i]))break; printf("0より大きい整数を入力してください。\n"); } } while(1) { printf("はさむ角(degree):"); scanf("%d", &angle); if(check_angle(angle)) break; printf("0より大きく180より小さい整数を入力してください。\n"); } printf("<計算結果>\n面積(cm×cm):%f", side[0]*side[1]*sin(angle*PI/180)/2); return 0; }
515 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:46:00 ] [1] 授業単元: C++ [2] 問題文 キーボードから入力される2つの整数を変数a、bに格納し、 aの0乗からaのb乗までを順に出力するプログラムを作成せよ。 ただし変数bは0以上の整数が入力されるまで、入力を繰り返すものとする。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++/ [4] 期限: 6月10日5時まで [5] その他の制限: なし。 [1] 授業単元: C++ [2] 問題文 キーボードから2以上の整数を入力し、その数が素数であるかどうかを判断するコードを記述せよ。 ただし入力される数値が2以上でない場合、繰り返し入力を求めること。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++/ [4] 期限: 6月10日5時まで [5] その他の制限: なし。 連投すいません。 まだありました^^;
516 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:48:25 ] >>514 ありがとうございました。助かります。
517 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:52:00 ] >>516 int check_side(int side) { return side > 0; } int check_angle(int angle) { return 0 < angle && angle < 180; } ここに突っ込まれると思うからちゃんと理解しとけよ
518 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:54:14 ] ____ / ./ /| こちらエスパー _|  ̄ ̄ ̄ ̄.| |___ 今日はどうも勘が鈍ってる / |_____.|/ / 誰か援助を頼む  ̄ ̄~ |し |  ̄ ̄ し⌒ J
519 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:55:27 ] >>511 #include <iostream> int main() { int year; std::cout << "西暦を入力:"; std::cin >> year; if ( year % 4 == 0){ if ( year % 100 == 0){ if ( year % 400 == 0) std::cout << "西暦" << year << "年は閏年" << std::endl; else std::cout << "西暦" << year << "年は平年" << std::endl; }else std::cout << "西暦" << year << "年は閏年" << std::endl; }else std::cout << "西暦" << year << "年は平年" << std::endl; return 0; }
520 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:57:21 ] >>512 >次の説明はオリンピックの開催年についての説明である。 説明どこだよ?
521 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:04:06 ] 1896年に第1回大会が開催され以後4年毎に開催(中止)された。 かな 開催か中止かも判定するなら6,12,13回大会は中止
522 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:07:09 ] ttp://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF%E9%96%A2%E9%80%A3%E5%B9%B4%E8%A1%A8
523 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:12:00 ] 開催年だけならこれでいいかな #include <iostream> int main() { int year; std::cout << "西暦を入力:"; std::cin >> year; int y = 2008 - (29 - 1 ) * 4; // 第一回オリンピック開催年 if ( year % 4 == 0){ if( year - y >= 0 ) std::cout << "西暦" << year << "年は第" << ( ( (year - y) / 4) + 1 ) <<"回オリンピック開催年" << std::endl; else std::cout << "西暦" << year << "には開催されていない" << std::endl; }else std::cout << "西暦" << year << "には開催されていない" << std::endl; return 0; }
524 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:13:45 ] もう過去のオリンピックが開催された年のデータから参照するのが望ましい。 何か普遍的な、イレギュラーの無い法則で算出するのは無理ぽ。 過去は変えられないのだよ、ワトソン君。
525 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:15:45 ] >>511 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6786.cpp
526 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:35:03 ] [1] 授業単元: 機械学習論 [2] 問題文(含コード&リンク):() @ クラス1、クラス2の2種類の属性をもつサンプル を含むデータセットにおいて、クラス1のサンプル の個数がc1,クラス2のサンプルの個数がc2である ものとする。このデータセットから1つのサンプル を取り出してそのクラスを観測する際、得られる平 均情報量を計算する関数を作成してください。また 関数は次のようにしてください。 Double info(int c1, int c2) A 情報利得を計算する関数を作成してください。 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: cygwin gcc [3.3] 言語: C言語 [4] 期限: 2008/6/4/PM11:00までです。よろしくお願いします。m(_ _)m
527 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:35:15 ] >>515 #include <iostream> int main() { int a, b; std::cout << "aを入力してください:"; std::cin >> a; do { std::cout << "bを入力してください(bは0以上):"; std::cin >> b; }while(b <= 0); for(int i=0,c=1; i<=b; i++, c*=a) std::cout << a << "の" << i << "乗は" << c << std::endl; }
528 名前:512 mailto:sage [2008/06/03(火) 14:47:01 ] 問題文抜けてました。 ・1896年の第1回大会以来、4 年に1 度開催されている。 ・1916年の第6回大会,1940年の第12回大会,1944年の第13回大会は 世界大戦の影響で中止された。ただし中止の場合も回数は数える。 ・1906年には,近代オリンピック制定10周年記念大会が開催された。 ただし特別大会のため,回数には数えない。 ・次回は2012年、第30回大会がロンドンで開催予定。
529 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:55:42 ] ttp://ja.wikipedia.org/wiki/%E5%A4%8F%E5%AD%A3%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF ttp://ja.wikipedia.org/wiki/%E5%86%AC%E5%AD%A3%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF
530 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:13:40 ] 2008年は中止ですね?
531 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:18:14 ] >>528 switch(year) { case 1896: printf("第1回大会開催\n"); break; case 1900: printf("第2回大会開催\n"); break; case 1904: printf("第3回大会開催\n"); break; case 1908: printf("第4回大会開催\n"); break; case 1912: printf("第5回大会開催\n"); break; case 1916: printf("第6回大会中止\n"); break; // 略 case 2004: printf("第28回大会開催\n"); break; case 2008: printf("第29回大会開催予定\n"); break; case 2012: printf("第30回大会開催予定\n"); break; default: printf("%d年には開催(開催予定)されていない\n", year); break; }
532 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:27:18 ] 開催、中止はこういうの作って判断すればいい bool isKaisai( int year ) { int n[] = { 1916,1940,1944 }; for( int i = 0; i < 3; ++i ){ if( n[i] == year ) return true; } return false; }
533 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:55:19 ] #include <stdio.h> void main() { int year, month, day, weekday; for (year = 2001; year <= 2100; year++){ for (month = 1; month <= 12; month++){ weekday = ((year + year/4 - year/100 + year/400 + (13*month+8)/5 + 13) % 7)+8; if (weekday == 13) printf("%4d年 %2d月 %2d日\n",year, month, weekday); } } } この実行結果の13日の金曜日の個数はどうやって求めればいいですか?
534 名前:デフォルトの名無しさん [2008/06/03(火) 15:59:33 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク):21世紀(2001年〜2100年)の100年の間に、「13日の金曜日」は何回出現するだろうか。 <考え方> 2001〜2100 の間を for文 で繰り返す。 さらに、それぞれの年に1〜12月の間を for文 で繰り返す。つまり、2重ループにする。 for (year = 2001; year <= 2100; year++) { for (month = 1; month <= 12; month++) { } } 2重ループの中では、その月の13日が金曜日であるかどうかを、ツェラー公式を使って判定する。金曜であれば、それをカウントしておく。 最後に、カウントした数を表示する。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Visual Studio 2003 [3.3] 言語: C++ [4] 期限: 2008年06月10日14:40まで
535 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 16:10:03 ] >>534 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6788.cpp
536 名前:デフォルトの名無しさん [2008/06/03(火) 19:32:54 ] [1] 授業単元:C言語プログラミング [2] 問題文(含コード&リンク): 例題7-2 に以下の事項を加えたプログラムを作成せよ。 @キーボードから与えられた整数データX を順序リストから削除する関数DeleteCell(int x)。 但し、削除したセルが使用していたメモリを解放するようDeleteCell 関数内にfree 関数を用 いること。 A整数データの入力に先立って、リストの操作メニューとして以下の操作メニューを表示する。 ・キーボードより i が入力された場合 ⇒ データを挿入 ・キーボードより d が入力された場合 ⇒ データを削除、但し該当するデータが存在しない場 合には『そのような数字はありません』と表示 ・キーボードより p が入力された場合 ⇒ その時点でのリストを表示 ・キーボードより x が入力された場合 ⇒ プログラム終了 ・その他のキーが入力された場合 ⇒ 警告を表示 例題7-2 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6789.txt [3] 環境 [3.1] OS:Vista [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:明後日の朝まで [5] よろしくお願いします。
537 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:10:05 ] いろんな学校が結託してるかのように同じ問題がバンバン出て来るんだが、 このスレを見つけた少数の学校の生徒が続々と来てるだけかも?とおもった。
538 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:20:47 ] 非常勤講師でーす^^
539 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:28:38 ] 実は講師もまざってて自分の生徒用の問題をここで作らせてたりしてなw
540 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:31:30 ] 頻出問題をまとめたら割とまとまりそうだよね 過去の回答群も載っけて好きなの使え的な
541 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:33:02 ] それこそwikiでも立ち上げて貼っておけばいいかもな。
542 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:37:00 ] [1]授業単言:C言語 [2]問題文 要素数noであるint型の配列vcの要素の最小値を返す関数 int min_of(const int vc[],int no)の作成の仕方 [3-1] windows [3-2] gcc [3-3] C言語 [4] 明日までです よろしくお願いします。
543 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:46:42 ] int min_of(const int vc[],int no){ int i; int a=vc[0]; for(i=1;i<no;i++) if(vc[i]<a) a=vc[i]; return a; }
544 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:00:12 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク):成績表のプログラムを可変長配列を用いて作成しなさい 詳細は↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6790.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語: どちらでも可 のいずれか [4] 期限: 2008年6月3日 [5] その他の制限: 特にないです。
545 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:00:31 ] >>542 ですが、メイン文の方も書き方がわからないので教えていただけませんか?
546 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:02:09 ] ↑間違えました。>>543 の者です。
547 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:03:34 ] #include <stdio.h> #define array_no(a) sizeof(a)/sizeof(a[0]) int min_of(const int vc[], int no); int main() { int vc[] = {78, 82, 32, 48, 63, 99, 105, 45, 67, 20, 862, 714, 60, 19, 52}; //適当な配列 printf("最小値:%d\n", min_of(vc, array_no(vc))); return 0; } int min_of(const int vc[], int no) { int min = vc[0]; int i; for (i = 0; i < no; ++i) if (min > vc[i]) min = vc[i]; return min; }
548 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:11:31 ] >>541 >>1 もうWikiあるwww そこへのアンカーでガンガン済ませるのも手か
549 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:31:30 ] そろそろ、というかもう前々から言っているでおじゃるが 定石、ありきたりのパターンをまとめたサイトを作らないかでおじゃる?
550 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:32:49 ] [1]授業単言:C言語 [2]問題文 要素数noであるint型の配列vc2の並びを逆順にしたものを配列vc1に格納する関数 void intary_rcpy(int vc1[],const int v2[],int no)の作成 [3-1]os windows [3-2]gcc [3-3]C言語 どなたか教えてもらえませんか?
551 名前:443 mailto:sage [2008/06/03(火) 21:47:27 ] 昨日の443です。 とりあえず、ソースを作成してみました。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6791.txt こちらが問題文 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6776.txt まだまだ初心者で型やらもうしっちゃかめっちゃかだし、色々と突っ込みどころ満載です。 必要な分だけメモリを取れと言われているのにこのまま作ったら内部変数でドカッと持ってくやり方になっちゃうし・・・。 宜しくお願いします。
552 名前:側近中の側近 ◆0351148456 [2008/06/03(火) 21:49:34 ] >>550 (っ´▽`)っ void intary_rcpy(int vc1[],const int v2[],int no) { int i; for(i = 0; i < no; i++){ vc1[i] = v2[no - i - 1]; } return; }
553 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:51:28 ] void intary_rcpy(int vc1[],const int vc2[],int no){ int i; for(i=0;i<no;i++) vc1[i]=vc2[no-i-1]; }
554 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:55:53 ] >>551 問題からは共通部分がtypeとidだけのように思ってたんだけど、 unitというよくわからないものに4バイト取ってるのはなぜ?
555 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:09:55 ] >>551 ユニット長ってのがあってタイプ毎のサイズが書かれたものがあったので構造体の中に入れたんですけど 多分それいらないみたいなんでないこととして考えても大丈夫だと思います。 消し忘れてました、すいません。
556 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:16:46 ] >>446 で、人によって違うのができそうだなあといったのは まさにこの構造体をどう作るかだったんだけど。 もしかしてload時に読み込むファイルのサンプルが提示されてたりします?
557 名前:536 mailto:sage [2008/06/03(火) 22:27:55 ] Deleteの部分だけでも自分で作って見ましたが、エラーがでてしまいます… kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6792.txt
558 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:28:09 ] >>556 いえ、サンプルはないです。 loadした場合、以前にこのプログラムで打ち込んだファイルを呼び出してまた足していくことが出来る、 ゲームのコンテニューみたいなものだと思ってくれると分かりやすいとは思います。
559 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:45:22 ] >>549 >>1 にあるwikiは誰でも編集できるぞ つかここ1年くらいまとめサイトなんて 話題にした記憶が無いんだが 前々って何年前だよ
560 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:50:25 ] >>559 おじゃるが言うくらいだから平安頃からじゃない?
561 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:51:20 ] ttp://www23.atwiki.jp/homework/pages/11.html#id_fc5becfb > strcpy(s, " (^ω^ ) ピザキメェおwww "); 誰だよw
562 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:05:30 ] リスト、単方向、双方向、ノードも誰か追加してくれYO!
563 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:06:55 ] >>562 このスレか1個前くらいに線形リストあったと思うから追加すれば?
564 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:12:34 ] [1] 授業単元:物質科学実験(パソコンによる計測制御入門) [2] 問題文(含コード&リンク): @bとcを1バイトの変数としたとき、 b = (b & 0x07) << 4; c = (c & 0x8F) | b; というプログラムがどの様なことをやっているか説明せよ。 この式に現れる<<という演算子は、2進数で表示された数値(ビット)を 左にシフトさせる働きをする。(例えば、b=(00000001)bとすると、b<<1は 左に1だけシフトした(00000010)bを表す。) また、&と|という演算子はそれぞれ「ビット AND」「ビット OR」と呼ばれ、 2つの数値のビット毎のAND(各ビットのどちらかが0なら結果も0になる) 及びOR(各ビットのどちらかが1なら結果も1になる)を得るために用いる。 Abを16ビットの変数とする。その最下位ビットから3番目と6番目をクリアする (0にする)プログラム(ルーチン)を、@に従って書け。 [3] 環境 C言語 [4] 期限:今週中 [5] その他の制限:ないと思います。
565 名前:347 [2008/06/03(火) 23:30:47 ] エラーメッセージが多すぎてだるい(';') 開発環境なんて、自宅にあっても使わない(';') プログラマーもう嫌wwwwwwwwwwwwwwwwww
566 名前:デフォルトの名無しさん [2008/06/04(水) 00:31:23 ] ここの問題をまじめにやったら、かなり勉強になるだろう。。。。 回答もあるし(ないのもあるみたいだが・・・)
567 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:23:18 ] 質問テンプレ】 [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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 半径rの円に内接および外接する正n角形の面積を求めよ
568 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:28:57 ] >>567 テンプレの使い方が違うよwww
569 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:30:16 ] >:() この顔文字可愛いな
570 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:32:21 ] 567です間違えて途中で送信してしまいました rは実数nは整数sは実数で表してください 明日いっぱいですcでお願いします
571 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:38:24 ] 明日いっぱいってことは6/5いっぱいってことでいいのか?
572 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:46:27 ] 567ですこの課題は初心者用だと思うのでどちらでも問題ではないと思いますお願いします
573 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:47:12 ] #include <stdio.h> #include <math.h> double circumscribe(double r, int n) { return r * r * tan(M_PI / n) * n; } double inscribe(double r, int n) { return r * r * sin(M_PI*2/n) * n / 2; } int main(void) { int n; double r; printf("nを入力してください:"); scanf("%d", &n); printf("rを入力してください:"); scanf("%lf", &r); printf("半径%fの円に外接する正%d角形の面積は%f\n", r, n, circumscribe(r, n)); printf("半径%fの円に内接する正%d角形の面積は%f\n", r, n, inscribe(r, n)); return 0; }
574 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:05:51 ] 567です職人さんありがとうございました
575 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:06:40 ] 質問です 巡回セールスマン問題において、Nearest Neighbor法を用いた2-opt法は他の方法と比べて メリットってありますか? 他の方法というのは、焼きなまし法やタブーサーチなどのことです。 λ-opt法を更に改良したのがタブーサーチなどの方法なのでただの2-opt法にメリットなど無いと 考えているのですが、教授に2-opt法が他の方法より優れている点を考えてこいと言われて困っています。
576 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:11:14 ] >>575 スレ違い 宿題だと言い張るなら>>1 読んで書き直し
577 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:15:41 ] >>575 数学板の方がふさわしいかと
578 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:48:31 ] >>557 適当に加筆修正 void DeleteCell(int x) { CELL *p,*q; p=q=&head; if(p==NULL){ printf("データがありません.\n"); return; } if(p->data==x){ p=p->next; free(q); return; } for(;p->next!=NULL;q=p,p=p->next){ if(p->data==x){ q->next=p->next; free(p); return; } } printf("%d:ありません\n",x); }
579 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 03:14:46 ] :< :( :) :l :@ :* :8
580 名前:デフォルトの名無しさん [2008/06/04(水) 04:42:33 ] つまんねwww
581 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 06:51:54 ] """
582 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 06:54:18 ] ";:
583 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 06:58:09 ] ::.
584 名前:デフォルトの名無しさん [2008/06/04(水) 08:39:31 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): main関数の引数として小数あるいは整数を入力すると、 それらの平均値を計算して、小数点以下第2位まで表示するようなプログラムを作成せよ. [3] 環境 [3.1] OS: Windows xp [3.2] コンパイラ名とバージョン:cl Windws visual studio [3.3] 言語:C 言語 [4] 期限: 2008年6月4日19:00まで] [5] その他の制限: 特にありません。 ご解答よろしくお願いします。
585 名前:584 [2008/06/04(水) 08:41:43 ] その他の制限に追加があります。 提出するソースファイルのファイル名を、自分の名字(アルファベット)に拡張子cをつけたものにすること。 よろしくお願いします。
586 名前:デフォルトの名無しさん [2008/06/04(水) 08:48:51 ] >>526 をどうかお願いしますm(__)m
587 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 09:20:55 ] >>584 #include <stdio.h> int main(int argc, char *argv[]){ int i; double n, sum=0; for(i=1; i<argc; i++){ sscanf(argv[i],"%lf",&n); sum += n; } printf("%-10.2f\n",sum/(argc-1)); return 0; } 実行例: ./a.out 3 5.6 8.912 5.84
588 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 10:13:41 ] >>586 課題の意味がよくわかんないす。観測とか。 情報利得というのはこれかなあと思うけど確信がもてない。 www.center.nitech.ac.jp/~nakano/%BE%F0%CA%F3%CD%F8%C6%C0.html なんもついてないΣってどうやって計算するの? てことでもすこし詳しく書けば回答できるかも。
589 名前:378 mailto:sage [2008/06/04(水) 10:23:16 ] >>380 >>381 回答ありがとうございました。 リンク先によると、要素数はTopポインタとBottomポインタの差をセルバイト幅で 割ると取得できるとありますが、用途について制限かけるときとは具体的にどのような ときでしょうか。よろしくお願いします。
590 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 11:20:01 ] >>589 リスト構造では先頭と末尾のポインタの差を出してもどうにもならないよね。 用途は制限かけたいときに使えるとかじゃないの? ↓ 用途は深さを制限したいときに使えるとかじゃないの?
591 名前:デフォルトの名無しさん [2008/06/04(水) 12:22:29 ] >>587 様 ありがとうございます!!!!!!!
592 名前: ◆DuoCt8/SKk [2008/06/04(水) 15:54:16 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6793.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual C++ 6.0 [3.3] 言語:C [4] 期限:6/5 [5] その他の制限:ポインタ,構造体を使用して簡略化. よろしくお願いします!!
593 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:06:56 ] 切符の子か。 ちょっと変えりゃすむだろ、と思わんでもないけどね。 今回は<おもな道筋>がないようなので柔軟な仕組みにしたほうが いいんだろうけど、>>132 のスタイルはだめなんしょ?
594 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:08:55 ] と思ったら道筋あったー! だめぽ。
595 名前: ◆DuoCt8/SKk [2008/06/04(水) 16:41:06 ] >>593 できるだけ柔軟な仕組みの方がいいです. >>132 は少々複雑すぎてしまい・・・読んでも理解できないんです(泣) 再びよろしくお願いします!
596 名前:536 mailto:sage [2008/06/04(水) 16:42:09 ] Deleteの部分は教えてもらって分かりましたが 続きがどうしても分かりません どなたかお願いできないでしょうか?
597 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:42:20 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク) 凸包の構成 ttp://www.ccad.sist.chukyo-u.ac.jp/~mito/ss/program/C/DialogBase/algo/Graham/index.htm [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:emacs [3.3] 言語:C [4] 期限:6/14 [5] その他の制限:なし やり方自体の指定はありません。参考URLの感じのものをCで作るそうです。よろしくお願いします。
598 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:44:52 ] >>595 道筋ベースでやるよりもコマンドベースでやるほうが柔軟なわけで ミルク増やして氷無しにして、やっぱりミルク減らす、とかの時に コマンドに応じた関数を呼び出して状態を保持しておくのが楽なんだ。 道筋ベースだとユーザがやりたいことをやりたいときに行えない 仕組みになるしょ。
599 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 16:48:44 ] 複雑で分からない、と言う前にどこが分からないか言ってみるとかは? 前回のに手を加えた結果があるだろうからそれ載せてみると どう成長したかも見えるだろうし。 ってそれはそれで相談スレの役割のような気もしだしたorz
600 名前: ◆DuoCt8/SKk [2008/06/04(水) 16:50:10 ] >>598 とりあえず道筋はもらったプリントのまま書いたのですが,やはり そこまでは求められていないということなのでしょうか? 僕も>>598 さんのいう意見に賛成なので,是非コマンドベースでお願いします.
601 名前:586 mailto:sage [2008/06/04(水) 16:53:01 ] >>588 @が平均情報量を求めるプログラムをつくる 平均情報量= -(c1/c1+c2)*{log2(c1/ c1+c2)} -(c2/c1+c2)*{log2(c2/ c1+c2)} Aが情報利得を求めるプログラムをつくる 情報利得= -(c1/c1+c2)*{log2(c1/ c1+c2)} -(c2/c1+c2)*{log2(c2/ c1+c2)} +(c1/c1+c2)*(c1/c1+c2)*{log2(c1/ c1+c2)} +(c2/c1+c2)* (c2/c1+c2)*{log2(c2/ c1+c2)} おそらくこれを求めるプログラムをつくればいいと思います。 どうか@だけでも至急お願いしますm(_ _)m わかりにくくてすいません。
602 名前: ◆DuoCt8/SKk [2008/06/04(水) 16:54:59 ] >>599 具体的にはどのように表示すればいいのかが分からないということなのでしょうか・・・ 先生も何か例を書いて下さればわかりやすいのに・・・とも思っています. 例を書かないということはそれぞれ工夫してプログラムを組むのを期待しているのでしょうか? 正直同級生も>>132 のレベルにはまだ一部の人たちしか達していないと思われます.
603 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:13:30 ] >>601 ん?ってことなら、 #include <math.h> double info(int c1, int c2) { double _c1 = c1; double _c2 = c2; return -(_c1/_c1+_c2)*log(_c1/_c1+_c2) - (_c2/_c1+_c2)*log(_c2/_c1+_c2); } でいいんでないの?
604 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 18:58:16 ] >>602 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6794.txt とりあえずお釣りの計算だけ
605 名前:604 mailto:sage [2008/06/04(水) 19:01:55 ] よく見たらつり銭切れのときにお金がどんどん減ってしまうな 元の値をコピーしておかないとだめだ
606 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 19:33:11 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): 全部で3つなのですが 1. 以下のプログラムを作成 • 以下の数列を0〜20まで表示 • 数列は以下の通りとする • a[0] = 0.01, a[1] = 0.1, a[2] = 1.0 • a[n+1] = a[n] + a[n-1] + a[n-2] • プログラムを実行するとa[0]〜a[20]までの値が改 行区切りで表示されること 2. 以下のプログラムを作成 • キーボードから整数値を読み込み、入力された整数 値が素数であるか判定する • 以下のとおり表示する • 入力値が素数の場合”prime number” • 入力値が素数以外の場合”not prime number” 3.以下のプログラムを作成 • 3x3マスのマルバツゲームのボードを作成 • ○側と×側が交互に2次元座標上の位置を入力 • 入力後、毎回ボードを表示する • たて、よこ、斜めのいずれかに○か×が3つ並んだ 時点でプログラムを終了 • マスが埋まった場合もプログラムを終了 [3] 環境 [3.1] OS: Windows [3.2] MINGW32 [3.3] 言語:C [4] 期限: 6月13日 [5] その他の制限: なし 回答のほど、よろしくお願いしますm(_ _)m
607 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 19:34:53 ] >>606 が読みにくくてすみません 改行ができませんでした・・・
608 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 19:51:21 ] [1] 授業単元: アルゴリズム [2] 問題文(含コード&リンク):() 10マスx10マスの迷路のスタートからゴールまでの最短経路を出力するプログラムを作れ。 ※1.迷路は10行のテキストファイルで提供され,Sがスタート,Gがゴール,*が壁,@が通路で記録されている。 ※2.進み方は上下左右1コマずつとし,斜めには進めない。 ※3.迷路はかならずしもゴールできるとは限らない。 [3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 6月18日 [5] その他の制限: 前の授業で再帰的な関数というのを習ったので、 それを使って解くのが求められている回答だと思います よろしくお願いします
609 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:07:13 ] >>606 すみませんコンパイラは gccでした
610 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:21:28 ] >>606 (1) int print_20(){ int i; double a[21]={0.01, 0.1, 1.0}; for(i=3; i<=20; i++){ a[i] = a[i-1] + a[i-2] + a[i-3]; } for(i=0; i<=20; i++){ printf("%f\n",a[i]); } return 0; } (2) int prime_check(){ int i=2, n; printf("prime check for no>>"); scanf("%d",&n); while(i*i<n){ if(!(n%i)){break;} i++; } printf("%s\n",(i*i>n)?"prime number":"not prime number"); return 0; }
611 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:25:06 ] >>606 1. #include<stdio.h> int main(void){ double a[21]={0.01, 0.1, 1.0}; int n; for(n=2;n<20;n++) a[n+1]=a[n]+a[n-1]+a[n-2]; for(n=0;n<=20;n++) printf("%f\n", a[n]); return 0; }
612 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:56:55 ] >>603 ありがとうございます! C1、C2の入力値を入れるようにしたいのですが後これにどう付け加えればよいのでしょうか?
613 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:26:02 ] >>606 > 3x3マスのマルバツゲームのボードを作成 unsigned short intの16ビット中、下9ビットを連ありか否かの 判定に使えばいいと思うんだが、面倒なので誰か頼む。
614 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:11:16 ] [1]プログラミング [2]問題文 要素数がnoであるint型の配列vcの並びを逆順にする関数 void rev_intary(int vc[],int no)をメイン文も含め作成せよ。 [3-1]windows [3-2]gcc [3-3]C言語 [4]明日の昼まで お願いいたします。
615 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:11:49 ] デジモンみたいなドライブクリーナーがほしい。 データ食べて育つみたいな。リアルにデジタルモンスター育てたい( 基地外サーセン。。どうしても漏らしたかった・・・。
616 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:31:21 ] >>614 #include<stdio.h> void rev_intary(int vc[], int no) { int t, i; for(i = 0; i < no-1-i; i++) { t = vc[i]; vc[i] = vc[no-1-i]; vc[no-1-i] = t; } } int main() { int a[5] = {1,2,3,4,5}, i; rev_intary(a, 5); for(i = 0; i < 5; i ++) printf("%d\n", a[i]); return 0; }
617 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:32:49 ] >>614 >>550 >>552 この辺でどうにかならんかね。
618 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:04:08 ] >>610 氏、>>611 氏、>>613 氏 返答ありがとうございます おかげさまで助かります
619 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:14:30 ] >>618 ○×は素直に3*3の配列つかいな
620 名前:デフォルトの名無しさん [2008/06/04(水) 23:18:31 ] >>619 わかりました ちょっと探しに行ってきます
621 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:19:26 ] すみませんsageを 入れ忘れていました(汗
622 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:25:58 ] >>606 の3 前々スレで作ったやつ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6537.txt
623 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:28:49 ] おお!! >>622 氏、ありがとうございます ほかを巡回しながらもこまめに ここをチェックしていたのですが 大変助かります
624 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:25:24 ] >>564 をお願いします…
625 名前:デフォルトの名無しさん [2008/06/05(木) 00:31:43 ] [1] 授業単元:プログラミング演習1 [2] 問題文(含コード&リンク): m ×m 行列を入力し和と積を求め、結果を行列の形で表示させる プログラムの作成。但し、入力した行列も表示。 <表示例> 1 2 3 4 [3] 環境 [3.1] OS:WinXP/linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等):VC++/gcc [3.3] 言語:C言語 [4] 期限:2008/06/06 [5] その他の制限: stdio.h、入力はscanf関数、出力はprintf関数、配列で プログラムの冒頭ですが、これで配列可変になるんでしょうか…? int m,i,j;/*要素、カウント用変数宣言*/ printf("行列数を入力"); scanf("%d",&m); int a[m]=0; int b[m]=0; [m]=0を[%d]=0,mにしたほうが良いのでしょうか………
626 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:45:56 ] >>564 @ 0, b2, b1, (b0|c4), c3, c2, c1, c0 という8ビットをcに格納している。 ここでb2とは、変数bのビット2という意味で表記している。 b0|c4とは、b0とc4の論理和という意味で表記している。 というかこの問題、b=(b&0x07)<<5; が正しいのではないか? そうすると、 b2, b1, b0, c4, c3, c2, c1, c0 という8ビットをcに格納することになり、キレイ。 A b &= ~(1<<2); /*ビット2(最下位から3番目)をクリア*/ b &= ~(1<<5); /*ビット5(最下位から6番目)をクリア*/ ~を使いたくなければ、 b &= 0xfffb; b &= 0xffdf;
627 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:46:32 ] >>624 1. ここにいる人なら大抵@はわかります。 が、残念スレ違いです。 2. 本当に問題文そのままですか?
628 名前:626 mailto:sage [2008/06/05(木) 00:51:30 ] すまん間違えた。 @は c7, b2, b1, b0, c3, c2, c1, c0 だ。
629 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:06:18 ] >>625 お前は何を言ってるんだ?
630 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:06:27 ] b = (b & 0xFFDB) & b;
631 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:07:33 ] >>625 残念ながらそのような手法では配列を動的には確保出来ませんよ
632 名前:デフォルトの名無しさん [2008/06/05(木) 01:18:43 ] .;;;;彡彡ミミ;;; .;;;;彡彡ミミ;;; ;;;;彡彡ミミミ;;; ;;;;彡彡ミミミ;;; ;;;;;;彡彡ミミミ;;;;; ;;;;彡ミ彡ミミミミ;;; ;;;彡ミ彡;;人;;;ミ彡ミ;;; ;;;彡ミ彡ノ ヽ;ミ彡ミ;;; ;;;彡ミ;;;;ノ.人 ヽ;彡ミ;;; ;;;彡ミ;;;ノ | ..| ;ヽ彡ミ;;; ;;;彡ミ;;ノ .| | ヽ彡ミ;;; ;;;彡ミ;ヽ |.・.| /彡ミ;;; ;;;彡ミ;;ヽ| .| /;;彡ミ;;; .;;;;;;;ミ;;;ヽ|( )|./ミ彡;;;; ..;;;彡;;;;ヽ| .|/;;;ミ;;; ..;;;;.彡;|.|;;ミ;;;;;.... ;;;;;彡;彡|;;ミミミ;;;; ;;彡彡彡*ミミミミ;; マンコ ;;;;彡彡ミミミ;;; ;;彡彡ミミミ;;;
633 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:47:07 ] [1] 授業単元: C言語演習V [2] 問題文(含コード&リンク): 九九の表を1次元配列と配列を引数とする関数を用いて作成せよ。 ・作成要項 main関数内で用いる配列は演算結果を格納するab[81]と九九の各段を一時的に格納する a[9]のみとし(呼び出す関数側ではどのような配列を宣言してもよい)、関数に格納用 配列と段数を渡してひとつの段ごとに計算させる。 ひとつの段の計算結果が関数から戻されるごとに返ってきた値を配列abに格納しなおし 全部の段の計算が終わったあとで一括して表示させること(グローバル変数は使わないこと) (プログラム例) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6795.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: cygwin gcc [3.3] 言語: C言語 [4] 期限:本日 6/5 PM1時までにお願いします。 [5] その他の制限:グローバル変数の使用は不可、配列の使用が前提です。 今日は徹夜で宿題をやっているので、オールナイトで待っています。よろしくお願いします。
634 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:00:39 ] >>625 宿題レベルなら固定で int a[8][8]; ってしときー
635 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:03:20 ] >>634 兄さんそれ99やない
636 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:06:35 ] >>633 #include<stdio.h> void kuku(int [], int ); int main(void) { int i,j; int a[9],ab[81]; for(i=0;i<9;i++){ kuku(a,i); for(j=0;j<9;j++){ ab[i*9+j] = a[j]; } } for(i=0;i<9;i++){ for(j=0;j<9;j++){ printf(" %2d", ab[i*9+j]); } printf("\n"); } return 0; } void kuku(int a[], int rank) { int i; for(i=0;i<9;i++){ a[i] = (rank+1) * (i+1); } }
637 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:17:59 ] >>634 パパーパパー
638 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:26:32 ] >>636 ありがとうございます。 これで少しは眠れそうです。
639 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 10:00:15 ] すみません >>622 氏のところのをやってみたのですが 下記のエラーが出てしまいまして $ gcc.exe memosp.c memosp.c: In function `main': memosp.c:60: warning: passing arg 1 of `input' from incompatible pointer type memosp.c:62: warning: passing arg 1 of `check' from incompatible pointer type memosp.c:63: warning: passing arg 1 of `show' from incompatible pointer type memosp.c:70: warning: passing arg 1 of `show' from incompatible pointer type どこを直せばいいんでしょうか・・・ アドバイスよろしくお願いします><
640 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 10:22:54 ] >>639 gccはよくわからんけど、xcodeで試したらcheckをcheck2とか適当な名前に変更すればコンパイルはした
641 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 10:35:01 ] >>639 とりあえず const int b[][BOARD_SIZE] を int b[][BOARD_SIZE] にすれば警告は消える でも、なんで警告が出るんだろう?
642 名前: ◆DuoCt8/SKk [2008/06/05(木) 12:43:10 ] >>604-605 ありがとうございます. 今日が締切なので,引き続き>>592 をお願いしたいのですが・・・ よろしくお願いします!
643 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 12:50:43 ] >>635 アンカーの先をよく見るんだ弟よ
644 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:31:02 ] >>641 > >>639 以下はtccの場合。 :60: cannot cast 'int **' to 'const int **' constを付けると、コンパイラはconst領域に変数等を割り当てようとするが、今回のように 書きかえ可の領域 ---> 書きかえ不可の領域へのキャスト指示はプログラムミスと見なされる。
645 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:34:22 ] >>644 続き。 const領域を書きかえようとした場合のエラー。 #include<stdio.h> int main(){ const int a=3; a=2; } :4: error: assignment of read-only variable ‘a’
646 名前:ロベ [2008/06/05(木) 13:49:11 ] [1] 授業単元:プログラミング [2] 問題文:BMPファイルの情報(画像サイズ、色数等)を表示する BMPファイルの画像を上下・左右反転させる BMPファイルの画像を回転(90、180、270度)させる BMPファイルのカラー画像をグレースケール化するプログラムの作成 輝度を変換する式は、下記の式を使用すること Y=0.298912*R+0.586611*G+0.114478*B ※BMPファイルにはWindows形式とOS/2形式があります。どちらにも正しく対応できるように。 ※入力ファイル名は、プログラム実行後に聞いてくるものとします。 ※出力ファイル名は、プログラム実行後に聞いてくるものとします。 ※反転・回転方法の指示は、プログラム実行後に聞いてくるものとします。 ※ソースには必ずコメントを書いて下さい。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Borland C++ 5.5.1 for Win32 [3.3] 言語:C [4] 期限:6月5日 0:00 [5] その他の制限:無し よろしくおねがいします
647 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:15:52 ] >>644-645 嘘を教えるなよ。。。
648 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:22:25 ] constがどこにかかってるかを考えれば、なんとなくわかるぞ
649 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 14:50:50 ] [1] 授業単元:C言語 [2] 問題文: int 型の2つの数をキーボードから読み込んで, それらの3乗の和を出力するプログラムを作成せよ。 ただし,2つの数の3乗の和を計算する部分は, 関数 int cubesum(int x, int y) を作成してそれを使え。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2008年6月9日 [5] その他の制限:
650 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 15:04:16 ] int cubesum(int x, int y) { return x*x*x + y*y*y; }
651 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:07:23 ] #include <stdio.h> int cubesum(int x, int y) { return x*x*x + y*y*y; } int main() { int a, b; printf("2つの整数を入れてください:"); scanf("%d %d", &a, &b); printf("%d^3 + %d^3 = %d\n", a, b, cubesum(a, b)); return 0; }
652 名前:デフォルトの名無しさん [2008/06/05(木) 19:31:10 ] .;;;;彡彡ミミ;;; ;;;;彡彡ミミミ;;; ;;;;彡彡ミミミ;;; ;;;;;;彡彡ミミミ;;;;; ;;;;彡ミ彡ミミミミ;;; ;;;彡ミ彡;;人;;;ミ彡ミ;;; ;;;彡ミ彡ノ ヽ;ミ彡ミ;;; ;;;彡ミ;;;;ノ.人 ヽ;彡ミ;;; ;;;彡ミ;;;ノ | ..| ;ヽ彡ミ;;; ;;;彡ミ;;ノ .| | ヽ彡ミ;;; ;;;彡ミ;ヽ |.・.| /彡ミ;;; ;;;彡ミ;;ヽ| .| /;;彡ミ;;; .;;;;;;;ミ;;;ヽ|( )|./ミ彡;;;; ..;;;彡;;;;ヽ| .|/;;;ミ;;; ..;;;;.彡;|.|;;ミ;;;;;.... ;;;;;彡;彡|;;ミミミ;;;; ;;彡彡彡*ミミミミ;; マンコ ;;;;彡彡ミミミ;;; ;;彡彡ミミミ;;;
653 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 19:54:07 ] >>550 の問題にメイン文も付け加えた形で教えて欲しいです。 よろしくお願いいたします。
654 名前:デフォルトの名無しさん [2008/06/05(木) 19:56:27 ] マルチで申し訳ないです。 本格的にハマってしまい、ヘルプをお願いさせてください。 [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): 2次元配列(hai[10][10])を用いる。 各マスには予め1または2がランダムで入力されている。 100マスの中で、1と2のサイズを計測せよ。 なお、境界は存在せず、トーラス状とする。 例) 1,1,1 2,1,1 1,1,1 であれば、 1:8 2:1 1,1,1 2,1,2 1,2,1 であれば、 1:6(トーラス状であるため、左下と右下も一つの塊と見る) 2:2(トーラス状であるため、中段の左右は一つの塊と見る),1 [3] 環境 [3.1] 言語: どちらでも可 [4] 期限: 6月10日 解決の糸口が見つかりません。 どうかよろしくお願いします。
655 名前:639 mailto:sage [2008/06/05(木) 20:40:30 ] >>639 のところで回答してくださりました方々 ありがとうございます 課題ですのでgccで固定という以上 ほかの方法では試せませんのでなんともいえませんが 自分でもいろいろと試そうかと思います
656 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:53:40 ] >>654 無理やり1レスにまとめたからいろいろ足りないけど #include <stdio.h> #include <stdlib.h> #include <time.h> #define SIZE 10 char hai[SIZE][SIZE], check[SIZE][SIZE]; int f(int x, int y, int n) { if(check[x][y] || hai[x][y]!=n) return 0; check[x][y] = 1; return 1 + f(x, (y+1)%SIZE, n) + f(x, (y+SIZE-1)%SIZE, n) + f((x+1)%SIZE, y, n) + f((x+SIZE-1)%SIZE, y, n); } int main(void) { int i, j, c[2][50] = {0}, count[2] = {0}; srand(time(NULL)); for(i=0; i<SIZE; i++) for(j=0; j<SIZE; j++) hai[i][j] = rand()%2+1; for(i=0; i<SIZE; i++) { for(j=0; j<SIZE; j++) { int n = f(i, j, hai[i][j]); if(n) c[hai[i][j]-1][count[hai[i][j]-1]++] = n; } } for(i=0; i<2; i++) { printf("%d : ", i+1); for(j=0; j<count[i]; j++) printf("%d ", c[i][j]); putchar('\n'); } return 0; }
657 名前:654 mailto:sage [2008/06/05(木) 21:11:52 ] >>656 ありがとう! 自分は3日間超絶悩んだのに、あっさり出来てるw 動作を確認させていただいたのですが、 #define SIZE 100 に変更した場合は、 int i, j, c[2][5000] = {0}, count[2] = {0}; と変更すれば、 SIZEが大きくなっても検索できるようですね。 もしよろしければ、いろいろ足りない部分とお名前を・・・・。
658 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:12:31 ] お名前ってww
659 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:17:24 ] 足りないってのは最後にソートしたほうがいいんじゃないかなってこと。
660 名前:デフォルトの名無しさん [2008/06/05(木) 21:18:00 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク): 次の規則に従い、入力された文字列を変換して表示する。 T ・・・タブとして空白を2つ入れる(Tは表示しない) N ・・・改行する(Nは表示しない) + ・・・空白を1つ入れる(+と空白を置きかえる) その他・・・そのまま表示する。 $ ・・・¥に変換する。($は表示しない。) $の後に入力されてる数値を円に換算する。換算率は1$を120円とする。 行の先頭の英小文字は英大文字に変換する。 実行結果 データを入力してください:aprilT$012-NmayTT$023+Njune T$026+N April \01440- May \02760 June \03120 [3] 環境 [3.1] OS: windouws [3.2] コンパイラ名とバージョン:Visual C++ [3.3] 言語:どちらでも可 [4] 期限: 明日中 [5] その他の制限:switch使用 C言語歴2ヶ月の課題なんで低レベルとは思いますが、よろしくお願いします。
661 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:18:40 ] >>625 20x20の行列を用意後、画面から入力したサイズ分だけを使用。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6798.txt
662 名前:654 mailto:sage [2008/06/05(木) 21:24:32 ] えっと、ちなみにソートするにはどうすればw c[i][j]と c[i][j+1]を比較させまくるのかnya。
663 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:30:16 ] バブルソートでもクイックソートでもすきなのでいいだろw >>654 が宿題に出されるレベルならソートぐらいできんだろ
664 名前:654 mailto:sage [2008/06/05(木) 21:42:29 ] >>663 おk。 本当にありがとねノシ
665 名前:デフォルトの名無しさん [2008/06/05(木) 21:45:24 ] ヘボいなーおまえら プログラミング向いてないよ
666 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:52:16 ] トーラスってなんじゃろうと思ってみてた。 ドラクエの地図の海と陸地の数およびサイズを知りたいって書いてくれればよかったのに。。
667 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:58:42 ] [1]プログラミング [2]問題文 多次元配列を利用して、5人の3教科(国語・数学・英語)の@最高点A平均点それぞれのソースを作れ。 [3-1]windows [3-2]gcc [3-3]C言語 [4]明日まで よろしくお願いいたします。
668 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:10:48 ] >>664 マルチの片割れにも終わったことを知らせんかい
669 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:12:13 ] なんで偉そうなの?
670 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:20:55 ] >>660 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6799.txt
671 名前:デフォルトの名無しさん [2008/06/05(木) 22:48:13 ] >>670 ありがとうございます、助かりました。 こんなに早く応えがくるなんて、良い意味で驚きました
672 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:51:04 ] >>664 ,669 礼儀も知らんのかボケ
673 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:55:17 ] >>671 タイミングさえ合えばちゃんとした回答者がいるスレだよ
674 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:00:16 ] >>672 なんで回答者でもないあなたが偉そうなの?
675 名前:654 mailto:sage [2008/06/05(木) 23:00:26 ] ちょw 669は自分じゃない。
676 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:01:30 ] >>674 っつか、マジで態度が悪いぞ、お前。社会じゃそれじゃやっていけねーよ 失せろクズガキ
677 名前:デフォルトの名無しさん [2008/06/05(木) 23:01:57 ] >>534 をお願いしますm(_ _)m
678 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:04:23 ] >>535
679 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:05:35 ] >>674 会社の同僚と何かあった時に上司から何か言われても 「同僚との問題なのになんであなたがそんな事言うの?」 とか言うんか? 消えろ
680 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:07:03 ] >>674 っつか、偉いとかって話じゃないだろ。完全にお前が態度が悪い ただそれだけ。何で自分が指摘されたのか、分からないのか? だとしたら相当痛いぞ、お前。反論する前に自分が起こしている行動 発言を自覚しろ。干されんぞ。人間社会はお前一人の都合や 思う通りには動いてないからw
681 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:09:21 ] >>667 お願いしますm(__)m
682 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:11:22 ] なんか>>674 の人気に嫉妬しつつ、本当に>>672 は回答者ではないのだろうか?
683 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:11:27 ] #include <sys/param.h> #include <stdio.h> int z(int y, int m, int d) { int a = y / 100, b = y % 100; return ((int) (m * 2.6 - 0.2) + d + b + (int) b / 4 + (int) a / 4 + 5 * a) % 7; } int zeller(int y, int m, int d) { return m < 3 ? z(y - 1, m + 10, d) : z(y, m - 2, d); } int main(int argc, char *argv[]) { int year, month, nf13 = 0; for (year = 2001; year <= 2100; year++) { for (month = 1; month <= 12; month++) { if (zeller(year, month, 13) == 5) { nf13++; } } } printf("%d\n", nf13); return 0; }
684 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:12:26 ] >>681 はやる気持ちは分からんでもないけど、もうちょっとまとう。 ギリギリまで宿題やらなかったのもちょっと悪いとおもうお
685 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:14:01 ] >>667 問題ってほんとにこれだけ? 制限とかかいとかないと 「それなんですか?分からないのでもっと簡単なものを。。。」 というハメになっちゃうかもだよー
686 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:14:18 ] #include <stdio.h> int main(void) { int i, j, data[3][5] ={0}, max[3]; double ave[3]; char *kamoku[3] = {"国語","数学","英語"}; for(i=0; i<3; i++) { ave[i] = max[i] = data[i][0]; for(j=1; j<5; j++) { ave[i] += data[i][j]; if(max[i] < data[i][j]) max[i] = data[i][j]; } ave[i] /= 5; } for(i=0; i<3; i++) printf("%s 最高点:%d 平均点%.2f\n", kamoku[i], max[i], ave[i]); return 0; }
687 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:14:25 ] 多次元配列を利用 int point[5][3]={{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}};
688 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:16:32 ] わざわざ多次元って言ってるんだから、二次元程度じゃ許されない。
689 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:17:45 ] >>682 人気じゃなくて一人がファビョってるだけにしか見えねーよw
690 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:18:10 ] 多次元っていったってどう考えても2次元で十分だろ。
691 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:18:48 ] >>688 口だけじゃなくてソースplz
692 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:19:48 ] せいぜい平均と最高点をまとめて もひとつ2次元配列にするくらいかな
693 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:25:58 ] 679はこのスレの上司だそうですw
694 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:26:48 ] こんなところで宿題丸投げする学生?相手に語ってるほうもどうかとw
695 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:26:50 ] >>689 = >>691 = >>674 必死だなぁ・・・IDが無いからって、他人のふりしようとか 白々しいぞお前。やたらと口出しする一言居士って、友達のいない構ってちゃんだろ?
696 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:26:56 ] IDが出ないと一人芝居が楽でいいよな
697 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:27:57 ] >>693 = >>689 = >>691 = >>674 しつけぇ・・・お前、このスレに何の用があって来てんだ? 無駄口叩く奴って、口先だけで役に立たない上に 自分が否定されるとファビョるからうぜぇ。
698 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:28:17 ] なんだこれ
699 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:30:05 ] ケフィア、、でしょうか?
700 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:31:23 ] なんで691まで一緒にされてるのかわからんw
701 名前:デフォルトの名無しさん [2008/06/05(木) 23:33:12 ] 二つの整数値を読み込んで、 小さい方の数以上で大きい方の数以下の整数を全て加えた値を 表示するプログラム。 コンパイラ gcc OS Windows 言語 C お願いします。
702 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:34:33 ] 何度か書いてるが、Windows + gccってのはほんとにそういう環境なのかなあ。
703 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:35:20 ] >二つの整数値を読み込んで、 標準入力でOK?
704 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:36:07 ] >>702 Cygwin + gcc かもね
705 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:36:54 ] a < b ((1+b) * b - (1 + a) * a ) / 2
706 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:37:44 ] >>626 わかりました。ありがとうございます。
707 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:37:54 ] >>701 #include <stdio.h> int main(void) { int a, b; scanf("%d%d", &a, &b); printf("%d", a > b ? (a + b) * (a - b + 1) / 2 : (a + b) * (b - a + 1) / 2); return 0; }
708 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:39:12 ] >>703 標準かどうかはよくわかりませんが、scanfで読み取る形です。
709 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:42:00 ] >>707 すいません!書き忘れました。 Do文を使って最後にWhile文を追加する形でした。
710 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:44:04 ] >>704 cygwin + gcc だとして、実行環境はWindows?cygwin?というのも あるし、Xかもしれない。 といったところで実行環境に依存するような宿題については そのような曖昧な環境記述は無かったような気もするし、、、 気にしないほうがいいのかなあ?
711 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:04 ] なんだそりゃw #include <stdio.h> int main(void) { int a, b, sum = 0; scanf("%d%d", &a, &b); if(a < b) do { sum += a++; } while(a<=b); else do { sum += b++; } while(b<=a); printf("%d", sum); return 0; }
712 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:10 ] >>1 より。 > ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 きをつけてね
713 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:33 ] >>707 初心者向けにしましょうw
714 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:45:38 ] >>701 #include<stdio.h> #include<stdlib.h> int main() { int a, b; scanf("%d%d", &a, &b); printf("%d\n", (a+b)*(abs(a-b)+1)/2 ); return 0; }
715 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:49:32 ] >>713 初心者の定義は何?自分が理解できる=初心者向け? 理解できない=初心者じゃない?とか?
716 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:51:02 ] パッと見であっさり理解できるか ちょっと見てみてあぁなるほどと思えるか の差じゃない?
717 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:51:48 ] >>711 ++はどういう意味なんでしょうか?
718 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:52:21 ] >>715 いちいち絡むなよw
719 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:54:13 ] >>717 a++ は a = a + 1
720 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:55:29 ] >>717 a++ = a = a + 1
721 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:58:06 ] その=の使い方には問題があるぞ
722 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:58:49 ] ではsum+=とは何なのでしょうか? 初心者ですいません
723 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:00:32 ] sum += a は sum = sum + a
724 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:00:50 ] sum = sum + 1
725 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:01:27 ] つまり sum += a++; は sum = sum + a; a = a + 1;
726 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:05:30 ] >>725 cのとっつき難さはそこなんだろうな。
727 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:06:39 ] A += B A -= B A *= B A /= B A = A 演算子(+-*/) B
728 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:06:45 ] レスをくれた方々ありがとうございます。 色々勉強になりました。 ちょっと複雑に考えすぎていたようです。
729 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:09:36 ] プログラムは単純に考えよう。 プログラムを書くこときも、トリッキーなことをせずに簡単に書こう。 って、先輩にならったな。
730 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:10:02 ] >>725 逆も上げとくわ sum += ++a;は a = a + 1; sum = sum + a;
731 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:11:29 ] >>729 sum += a++ が一番簡単で単純だろ?
732 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:12:13 ] 直感的ではないよ
733 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:15:09 ] >>731 そうだな。 こっちのPart28終わりからPart29の頭にかけてa++関連の未定義問題で論争があったくらいだ。 C言語なら俺に聞け(入門篇) Part 29 pc11.2ch.net/test/read.cgi/tech/1212329099/
734 名前:733 mailto:sage [2008/06/06(金) 00:15:52 ] >>733 は>>731 への同意ではなく>>732 への同意だ。
735 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:17:36 ] インクリメントを禁止してるプロジェクトに関わった事があったな。。。。。 ちょっと新鮮だった。
736 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:21:07 ] 実際のところたとえば a = a + 1; sum = sum + a; を sum += ++a; としたところでコンパイル後のバイナリレベルでどのくらいクロックやメモリ を稼げるものなんだ? それと引き換えに新人が保守するかも知れないリスクとの天秤にかけた場合の コストも。
737 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:23:16 ] まだ学生だからわからんのだけど仕事でやってて、それに引っかかる人いるの?
738 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:24:10 ] 万人にわかるようにするんだよ。
739 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:25:54 ] そんなのもわからないやつにソース触らせんなよw
740 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:27:30 ] しるかよw そういう規約をつくってるんだからw あ、デクリメントも禁止されてたよ。
741 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:28:09 ] >>737 ソースって案外長生きなんだよ。 COBOLとかあれだけクラサバ登場で無くなるといわれたのに 今だに残ってる。 webの発達でc出来る人口が減ってるのに、新人にわざわざ 今の程度の説明で時間取られたくないだろ?
742 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:29:04 ] >>736 最適化がかかればクロックやメモリは同等になるはず 好きな方を選べばいいだけ
743 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:29:54 ] インクリメントすら理解できないなら他の部分が大丈夫なわきゃないと思うんだが。
744 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:31:37 ] 前に、++aとa++って、何が違うんですかって、聞かれたことがあった。
745 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:35:52 ] それだけが1行にあれば機能は同じだけど、 条件判定の中にあったりすると面倒だし この間論争になったのは if (xxxxxx) printf("%d",(a++)*(a++)); こんな感じの結果の違いでもめてたし。
746 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:36:21 ] それ論争以前の未定義だから
747 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:37:33 ] >>746 新人がインクリメント覚えて使い出してこんなの書かれると また教える羽目になるでしょ。 だったら素直にインクリメントなどは使うなとしたほうがいい。
748 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:39:46 ] なんていうか、C言語の省略した記述って メモリやCPUなんかのハード資源が極端に 少なかったころのゲーム開発と似てて みみっちいという気がする。
749 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:40:29 ] それを論争とか言っちゃう人間が何を教えんの?
750 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:49:14 ] なんでいまさら宿題スレでインクリメントが問題視されるのかわからん
751 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:32:20 ] とても難しい問題が来ました しかし馬鹿な私と違って非常に優秀な諸兄にはわけないでしょう [1] 授業単元:C言語研修 [2] 問題文(含コード&リンク): 1から45の数(合計値)は1から9の数(要素)の和で作ることができる。(要素に同じ数を使わない) 例えば合計値6は最大3つ(要素数)の要素の和でつくることができ、要素数1であれば6、要素数2で あれば1+5と2+4の2通り、要素数3であれば1+2+3でつくる。この組み合わせで全てである。 合計値と要素数から要素の和の組み合わせ全てを計算する再帰関数を作れ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Microsoft Visual C++ 6.0 [3.3] 言語: C言語 [4] 期限: 起源はありませんが優秀な貴方方の手に掛かれば瞬殺でしょう [5] 制限はありません。貴方方の持っている全ての知識を注ぎ込んじゃって構いません
752 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:36:25 ] >しかし馬鹿な私と違って非常に優秀な諸兄にはわけないでしょう こういっておけば馬鹿が調子こいてやってくれるよwプゲラ という主の顔が浮かぶ
753 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:54:21 ] >>751 #include<stdio.h> int resolve_sub(int total, int num, int min) { static int ans[9], anslen = 0; int i, j; if(!num) return !total; for(i = min; i <= 9 && i <= total; i ++) { ans[anslen ++] = i; if(resolve_sub(total - i, num - 1, i + 1)) { for(j = 0; j < anslen ; j ++) printf("%d ", ans[j]); printf("\n"); } anslen --; } return 0; } void resolve(int total, int num) { resolve_sub(total, num, 1); } int main() { resolve(30, 6); /* (例)30を6個の和に分ける */ return 0; }
754 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:25:34 ] #include <stdio.h> void f(int size, int n, int *p) { static int pos = 0, start = 1; int i; if(pos==size-1) { p[pos] = n; for(i=0; i<size; i++) printf("%d ", p[i]); putchar('\n'); return; } for(i=start; i*2<n; i++) { start = i + 1; p[pos++] = i; f(size, n-i, p); pos--; } } int main(void) { int num, amount, *p; printf("要素数を入力して下さい:"); scanf("%d", &num); printf("合計数を入力して下さい:"); scanf("%d", &amount); p = malloc(sizeof(int) * num); f(num, amount, p); return 0; }
755 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:34:17 ] 問題読み違えた。 1から45まで限定で1から9しか使っちゃダメなのか。
756 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:50:08 ] >>751 #include<stdio.h> int O00O(int OOO0){ if(OOO0%2) return OOO0/2*(OOO0+1); return (OOO0+1)/2*OOO0; } void OOOO(int O0OO[], int OOO0, int OO0O, int OO00, int O0000){ int O, O000; if(OO00<=1){ O0OO[OO00]=OOO0; for(O=1;O<OO0O;O++) printf("%d+", O0OO[O]); printf("%d\n", O0OO[OO0O]); return; } O000=(OOO0-O00O(OO00-1)-1)/OO00; for(O=O0000;O<=O000;O++){ O0OO[OO00]=O; OOOO(O0OO, OOO0-O, OO0O, OO00-1, O+1); } } void O0O0(int OOO0, int OO0O){ int O0OO[1000]; if(OO0O>=sizeof(O0OO)/sizeof(O0OO[0])) return; OOOO(O0OO, OOO0, OO0O, OO0O, 1); } int main(void){ O0O0(100, 10); return 0; }
757 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 03:11:13 ] >>756 難読化乙
758 名前:デフォルトの名無しさん [2008/06/06(金) 11:37:44 ] #include <stdio.h> #include <float.h> int main(void) { float f; double x; long double ld; printf("\nTesting the precision of float, double, and long double : \n"); f = 1.0f + 1.0e-7; printf(" 1.0 + 1.0e-7 = %.10f\n", f); f = 1.0f + 1.0e-8; printf(" 1.0 + 1.0e-8 = %.10f\n", f); x = 1.0l + 1.0e-15; printf(" 1.0 + 1.0e-15 = %.20lf\n", x); x = 1.0l + 1.0e-16; printf(" 1.0 + 1.0e-16 = %.20lf\n", x); ld = 1.0L + 1.0e-19; printf(" 1.0 + 1.0e-19 = %.30Lf\n", ld); ld = 1.0L + 1.0e-20; printf(" 1.0 + 1.0e-20 = %.30Lf\n", ld); printf("\nThe experiment above is explained by constants from float.h :\n"); printf(" precision of float : %e\n", FLT_EPSILON); printf(" precision of double : %.15le\n", DBL_EPSILON); printf(" precision of long double : %.30Le\n", LDBL_EPSILON); return 0; } 表示された結果のうち、 1.0 + 1.0e-7 が 1.0000001 にならず、同様に 1.0 + 1.0e-15 が 1.000000000000001 にならず、 1.0 + 1.0e-19 が 1.0000000000000000001 という、きれいな数にならない理由を、FLT_EPSILON, DBL_EPSILON, LDBL_EPSILON との関係から説明してもらえないでしょうか。 よろしくお願いします。
759 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 11:43:55 ] >>758 単純な話管理できる桁があるので小数点側の切捨てが行われてるだけかと。 たとえば 1.0 + 1.0e-7 を 0.1 + 1.0e-7 や 0.01 + 1.0e-7 とした場合 おそらく.0000001は保持されると思われ。
760 名前:デフォルトの名無しさん [2008/06/06(金) 12:01:07 ] >>759 それをFLT_EPSILON, DBL_EPSILON, LDBL_EPSILON との関係から考察しなきゃならないんですけどいまいちわからなくて・・・
761 名前:759 mailto:sage [2008/06/06(金) 12:05:21 ] >>760 www.asahi-net.or.jp/~UC3K-YMD/Lesson/Section03/section03_13.html ここがいいかも イプシロン(誤差幅)だそうです。
762 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:06:34 ] ググったら直ぐ出てきたんだが…怒
763 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:32:01 ] >>758 質問と関係ないが printfの %l は整数にしか使えないと思うんだ
764 名前:デフォルトの名無しさん [2008/06/06(金) 12:41:53 ] 複素数を求めるプログラムなのですけど、 #include <stdio.h> #include <math.h> typedef struct { double rel; double imp; } complex; double mulcompl(complex x, complex y); /* 関数の戻り値の型を定義 */ int main(void){ complex c1, c2, c3; c1.rel = 3.2; c1.imp = 2.7; c2.rel = 2.5; c2.imp = 1.8; c3 = mulcompl( c1 , c2 ); /* complex変数c1,c2を仮引数としてmulcompl関数を呼び出す */ printf("複素数の積 \n"); printf("( %.2f + i %.2f ) * ", c1.rel, c1.imp); printf("( %.2f + i %.2f ) = ", c2.rel, c2.imp); printf("( %.2f + i %.2f )\n", c3.rel, c3.imp); return 0; } double mulcompl(complex x, complex y) /* 関数の戻り値の型を定義 */ { complex z; /* 仮引数x,yを使って複素数の掛け算を計算する */ z.rel = x.rel * y.rel - x.imp * y.imp; z.imp = x.rel * y.imp + x.imp * y.rel; return z; } それでどうしてエラーが取れないのですがどこが間違っているのか分かりません。 どなたかお願いします。
765 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:42:42 ] [1] 授業単元:オペレーティングシステム [2] 問題文(含コード&リンク):forkによる子プロセスの生成 子プロセスを2つ生成して、それぞれに、fork1, fork2 のプログ ラムを実行させるようなプログラムを作成しなさい。 ///fork1.c/// kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6800.txt ///fork2.c/// kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6801.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:6月11日 前回は本当にありがとうございました。よろしくお願いします。
766 名前:ロベ mailto:sage [2008/06/06(金) 12:43:46 ] >>646 お願いします!!!!
767 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:58:20 ] いまどきこれはないだろ。VC++が無料で使えるってのに。 > [3.2] コンパイラ名とバージョン:Borland C++ 5.5.1 for Win32
768 名前:ロベ mailto:sage [2008/06/06(金) 13:00:53 ] VC++は家でつかってますb
769 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:07:42 ] >>764 double mulcompl(complex x, complex y) → complex mulcompl(complex x, complex y)
770 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:11:37 ] >>766 wikipediaみたらOS/2 2.xのヘッダ構造書いてなかったんでやる気無くした。
771 名前:ロベ mailto:sage [2008/06/06(金) 13:14:11 ] >>770 いちようBMPのヘッダについて書いてあるページは見つけたけど プログラムの技術がないからできなくて;; www.kk.iij4u.or.jp/~kondo/bmp/
772 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:31:33 ] とあるゲーム機のSS取るのに使った構造体 typedef struct { // char bfType[2]; unsigned long bfSize; unsigned short bfReserved1; unsigned short bfReserved2; unsigned long bfOffBits; } BmpFileHed; typedef struct { unsigned long bcSize; short bcWidth; short bcHeight; unsigned short bcPlanes; unsigned short bcBitCount; } BmpFileInfoOS2; typedef struct { unsigned long biSize; long biWidth; long biHeight; unsigned short biPlanes; unsigned short biBitCount; unsigned long biCompression; unsigned long biSizeImage; long biXPixPerMeter; long biYPixPerMeter; unsigned long biClrUsed; unsigned long biClrImporant; } BmpFileInfoWindows;
773 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:31:53 ] 残り typedef struct { BmpFileHed hed; BmpFileInfoWindows Info; char data[480*272*4]; } BmpWindows;
774 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:32:48 ] でも欠点があってgccでコンパイルすると共通のヘッダ部分に アライメントが入る。 誰だよBMの後に調整用の領域作らないヘボいフォーマット決めたの
775 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:35:11 ] typedef struct { BmpFileHed hed; BmpFileInfoWindows Info; char data[2]; } BmpWindows; typedef struct { BmpFileHed hed; BmpFileInfoOS2 Info; char data[2]; } BmpOS2;
776 名前:ロベ mailto:sage [2008/06/06(金) 13:50:42 ] >>772 >>773 >>775 この構造体をどう使えば・・・
777 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:54:30 ] >>766 期限に間に合わなかったので作るのやめたよ
778 名前:ロベ mailto:sage [2008/06/06(金) 13:59:04 ] >>777 6月10日まで期限延ばしてもらえたので お願いできませんか?
779 名前:777 mailto:sage [2008/06/06(金) 14:00:06 ] >>778 作りかけのやつ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6802.c
780 名前:772 mailto:sage [2008/06/06(金) 14:03:19 ] >>779 unsigned long bcSize;(unsigned long biSize;)に該当する 部分を unsigned long bfOffBits; の後に持ってくると楽
781 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 14:05:06 ] BMとかどうせ使わないし読み捨てて構造体から排除しちゃえ。
782 名前:ロベ mailto:sage [2008/06/06(金) 14:05:22 ] >>777 どこまでできてるんですか?
783 名前:ロベ mailto:sage [2008/06/06(金) 14:06:25 ] ↑ >>779 の間違え
784 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 14:06:46 ] >>781 以前別スレでやってたけど #pragma pack(push, 1) この間に調整されたくない構造体を記述 #pragma pack(pop) するといいらしい
785 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 14:17:44 ] >>782 こいついったいなんなの? ソースがあるのにどこまでできているか聞くなんて。 自分で確認もできないのなら何でも適当なものをでっちあげてやれば、 ありがたがってそのまま提出しちゃうんじゃないかw
786 名前:777 mailto:sage [2008/06/06(金) 14:19:47 ] >>774 gccなら struct s0 { char a, b, c; } __attribute__ ((packed)); でパディングなし
787 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 14:21:14 ] >>786 おーそうなんだ 継続して作ってないなら続きやろうか?
788 名前:ロベ mailto:sage [2008/06/06(金) 14:22:28 ] >>787 おねがいできますか?
789 名前:777 mailto:sage [2008/06/06(金) 14:32:31 ] >>787 どうぞ 自分はグレースケール変換だけやってみる
790 名前:787 mailto:sage [2008/06/06(金) 14:53:08 ] うほ>>779 のを見てると自分の組み方が変則的なのかわかるorz 我流でやってるので悩むorz
791 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:06:00 ] 問03 学科の出席簿作成。 15人分の学生を表示し、入力により内容を変動させる。 表示順番: 出席表 <入力>学生番号0〜14 <入力>曜日番号0〜6 <入力>時限番号0〜3 <入力>出欠番号0〜1 <入力>学生番号0〜14の時に99を入力するとプログラム終了。 頼む。
792 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:10:28 ] >>646 の例題で不明な点があるんだけど ビットカウントが1,4,8のときはカラーパレットに対して処理するのか?
793 名前:777 mailto:sage [2008/06/06(金) 15:19:54 ] >>792 もうそれで作りつつある switch(bit_count) { // 2値なのでスケール化はできない case 1: printf("2値画像のため変換しません\n"); return; // パレットのみ変更 case 4: case 8: pal_count = 1 << bit_count; for (i = 0; i < pal_count; i++) { if (os == BMP_OS2) { y = (unsigned char)(pal3[i].rgbRed * YR + pal3[i].rgbGreen * YG + pal3[i].rgbBlue * YB); fwrite(&y, 1, 1, out_fp); fwrite(&y, 1, 1, out_fp); fwrite(&y, 1, 1, out_fp); } else if (os == BMP_WIN) { y = (unsigned char)(pal4[i].rgbRed * YR + pal4[i].rgbGreen * YG + pal4[i].rgbBlue * YB); fwrite(&y, 1, 1, out_fp); fwrite(&y, 1, 1, out_fp); fwrite(&y, 1, 1, out_fp); y = 0; fwrite(&y, 1, 1, out_fp); } }
794 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:21:07 ] いつまでだらだらとスレ消費すんだよw
795 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:21:58 ] フルフォーマット考えると結構面倒だなw
796 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:26:22 ] >>777 どうする?すでに読み込み用プログラム公開してるサイト見つけたんだけど・・・・
797 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:27:35 ] BMPの圧縮関係ってどう対処すれば正解? biCompressionフィールドって任意に拡張可能だった希ガス
798 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:29:19 ] >>797 まあそうなんだけどさ・・・ BMPで圧縮してるのなんてみたことないし。 でも出題した教師はこれを知ってかしらないでか出してるしな。 まともに対応を考えるとLibレベルになるよ。
799 名前:デフォルトの名無しさん [2008/06/06(金) 15:29:23 ] ちなみにBMP関係でこんなの見つけたお sunpillar2004.hp.infoseek.co.jp/data/files/bmp.html
800 名前:デフォルトの名無しさん [2008/06/06(金) 15:30:24 ] ああ,色深度16bitの時のビットフィールドの意味とかもいろいろあるし,BEかLEかで違いがあるんだっけか・・・? 忘れた
801 名前:796 mailto:sage [2008/06/06(金) 15:30:30 ] >>799 www.syuhitu.org/other/bmp/bmp.html こっちはLibにしてソースまで公開してくれてる。
802 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:30:57 ] >>800 あるね かなり面倒だよ、これ。
803 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:34:54 ] >>801 それでいいなら,プログラムの著者に連絡とって使ってみたら?
804 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:52:20 ] [1] 授業単元:メディア情報処理 [2] 問題文(含コード&リンク): マイク入力からの信号をリアルタイムに解析し、音名を表示するプログラムを作れ (チューナーみたいなもんですかね?) [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: Visual Studio 2008 [3.3] 言語: C C++ [4] 期限: 6月8日 [5] その他の制限: なし
805 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:00:53 ] [1] C [2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6803.txt [3] [3.1] Linux [3.3] C [4] 6月10日 [5] 記載されているプログラムを改訂して作ってください スーパークイーンが求められません すいませんお願いします
806 名前:kokoro [2008/06/06(金) 16:16:03 ] はじめまして。 今、c言語をやっているのですが、分からないので 問題をのせますので、プログラムを作ってほしいです。 お願いします。
807 名前:kokoro [2008/06/06(金) 16:21:12 ] [1]授業単元:C言語 [2]問題文: ★下記の仕様を満たすプログラムを作成しなさい。 【仕様】 ATM簡易プログラム ▼取引は「預け入れ」「引き出し」「残高照会」の3種類とする。始めに どの取引をするかを選択させる。0が入力されたらプログラムを終了する。対応していない数字が入力された場合は、 「入力番号が正しくありません」と表示し、入力画面に戻る。 ▼どの取引を希望したとしても、次に暗証番号入力を促し、キーボードキーボード入力させる。 ▼あらかじめ設定しておいた番号と一致していれば、次の処理(最初に選択した取引)に入る。そうでなければ、 「暗証番号が違います。もう一度入力してください」と表示し、入力させる。 3回失敗したら、「防犯上の理由により、取引を中止します」と表示し、プログラムを 終了する。 ▼「預け入れ」を選択した場合は、預け入れ金額を入力させ、合計金額(あらかじめ適当な金額に設定しておく) を表示し、入力画面に戻る。 ▼「引き出し」を選択した場合は、引き出し金額を入力させ、残り金額を表示し、入力画面に戻る。ただし、 1回で引き出せる金額は500,000円までとし、それを超える金額を入力したら「1回で引き出せる金額は 500,000円までです」と表示し、再度入力させる。なお不足の場合は「残高が不足しています」と表示し、 というメッセージと残高を表示し、再度入力させる。 ▼「残高照会」を選択した場合は、残高を表示し、入力画面に戻る。 [3]環境 [3.1]OS:windows xp [3.2]コンパイラ名:bcc32 [3.3]言語:c言語 [4]期限:2008年6月7日 [5]その他:キーボード入力、if文、for文を使って。 お願いします。
808 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:24:49 ] >>805 8queenってやったことなかったな〜 で、参考になるサイト www.pro.or.jp/~fuji/puzzlestudy/8queen.html
809 名前:ロベ mailto:sage [2008/06/06(金) 16:25:00 ] >>646 の課題はわりと単純なものでもかまいません よろしくおねがいします
810 名前:ねね ◆ia23AXgoXg [2008/06/06(金) 16:30:29 ] [1] 授業単元: 工学実験(画像処理) [2] 問題文: 濃度ヒストグラムを伸長(濃度変換)する関数[extend()]を作成せよ [3.1] OS:WinXP [3.2] コンパイラ名とバージョン: VisualC++6.0 [3.3] 言語:C++ [4] 期限: 6/9 17:00 [5] その他の制限: 概念くらいしかわかってません…orz メインプログラムおいときます、無理に使わなくてもいいかと #include <stdio.h> #define X 260 /* 画像の横方向の画素数 この例では260 */ #define Y 60 /* 画像の縦方向の画素数 この例では60 */ unsigned char f[Y][X]; /* 入力画像配列 横X画素 ,縦Y画素 */ unsigned char g[Y][X]; /* 入力画像配列 横X画素 ,縦Y画素 */ main()
811 名前:ねね ◆ia23AXgoXg [2008/06/06(金) 16:31:12 ] main() /* 画像処理を行うメインプログラム */ { char source[80]; /* 入力ファイル */ char destin[80]; /* 出力ファイル */ unsigned char t; /* 閾値 */ printf("filename(input) ? "); scanf("%s",source); printf("filename(output) ? "); scanf("%s",destin); printf("threshold ? "); scanf("%d",&t); image_input(f,source); /* 画像の入力処理 */ threshold(f,g,t); /* 閾値処理の場合 */ image_output(g,destin); /* 画像の出力処理 */ どうかよろしくお願いします。・・・
812 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:36:16 ] >>805 for(k=0; k<3&&j>=0; k++, j--) if(i-3<=board[j] && board[j] <= i+3) flag = 0; を適当なとこに突っ込んでそれに合わせて少しいじればおk
813 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:55:28 ] >791 #include <stdio.h> void view(int attend[][7][4]) { int main(void) { int n, d, p, a, attend[15][7][4]={0}; while(0<=fputs("number : ", stdout) && scanf("%d", &n)==1 && 0<=n && n<=14) { if(0<=fputs("day : ", stdout) && scanf("%d", &d)==1 && 0<=d && d<=6 && 0<=fputs("period : ", stdout) && scanf("%d", &p)==1 && 0<=p && p<=3 && 0<=fputs("attend : ", stdout) && scanf("%d", &a)==1 && 0<=a && a<=1) { attend[n][d][p]=a; view(attend); } else { fputs("input error.\n", stdout); } } return 0; }
814 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:05:41 ] 途中で送信しちゃった void view(int attend[][7][4]) { int i,j,k; for(i=0; i<15; i++) { printf("student no.%d : \n", i); fputs(" S M T W T F S\n", stdout); for(j=0; j<4; j++) { printf("period %d : ", j); for(k=0; k<7; k++) { printf("%d ", attend[i][k][j]); } putchar('\n'); } } }
815 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:09:58 ] >>807 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6804.txt
816 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:11:23 ] >>797 っつか、劣化さえずにファイルサイズを小さくするってなら PNG辺りを
817 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:12:34 ] >>804 高度すぎてワロタ
818 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:14:42 ] まあ、最悪マイクからの信号を拾えたとしても 「リアルタイム」で解析し、音名を表示ってえぐいなまた と言うか音「名」ってなんだ?
819 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:15:22 ] >>818 ドとかそういうんじゃね?
820 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:16:17 ] 内部で絶対音感を持ってる人に処理させればおk
821 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:18:07 ] 内部で初音ミクが処理してるんですね、わかります
822 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:18:19 ] MikuMikuVoiceの機能を知りたい手合いか
823 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:21:58 ] 音名ってまた曖昧な ピアノのド=トランペットのレ=ホルンのソ 実音でいいのにな
824 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:21:58 ] 音名表示のソフトとかフリーであるでしょ まぁ俺はつくれんがwAPIはむり
825 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:23:04 ] >>805 スーパークイーン強すぎワロタ
826 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:24:02 ] >>807 すまん、>>815 間違ってるわ 微妙に修正 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6806.txt
827 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:24:45 ] >>646 グレイスケール化だけ 圧縮には未対応 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6805.c
828 名前:kokoro [2008/06/06(金) 17:27:10 ] >>826 もうチョット簡単になりませんか? for文のところの課題なので、for文(多重ループなど)を使ってお願いします。 ++count、#defineはまだ勉強してないのです。
829 名前:814 mailto:sage [2008/06/06(金) 17:28:32 ] >791 こっちのほうがいいかな kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6807.txt
830 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:29:16 ] >>828 #define ANSHOU_BANGO 1234 これはソース中にANSHOU_BANGOがあればコンパイル時に1234に置き換えますよということだけです。
831 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:32:21 ] >>828 こういう入力回数が決まってないループはwhileを使わないといけないと思うんだけど whileは一回も使っちゃダメ?
832 名前:kokoro [2008/06/06(金) 17:34:37 ] >>831 whileも使ってもおっけいです。
833 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:40:33 ] ループする条件があるならwhile()特に無しならfor(;;)のが素直だと思う
834 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:42:31 ] >>828 十分簡単だろうに。一体何が問題なのか理解できん 習ってないから使うな、なんて言われないぞ
835 名前:kokoro [2008/06/06(金) 17:44:17 ] #include<stdio.h> int main(void) の次は、int totalMoney = 10000でいいのですか。 return 0; return 1; と書いてありますが、一番最後はreturn 0;で 終わるようにしたいです。
836 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:48:34 ] むしろmainにはreturn書いてないけどw 終わらせたければreturn 0;足せば良いじゃないw
837 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:48:46 ] >>835 なかなか難しい注文だなw >>826 の解はcになれてればどうってことないんだけどなw
838 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:49:44 ] int main () { int type; while( true ){ if( ( type = selectMainMenu() ) == 0 ) return 0; if( inputNumber() == 0 ) return 0; switch( type ){ case 1: deposit(); break; case 2: withdraw(); break; case 3: showMoney(); break; } printf( "\n" ); } return 0; }
839 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:50:31 ] あーすまん良く見たら書いてた、その上どっちもreturn 0じゃん
840 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:52:11 ] >>839 だからmainの最後にreturn 0が無いから心配してるだけなんだけど 実はwhileの中でreturn 0;で抜けてるから問題ないんだけどね・・・
841 名前:kokoro [2008/06/06(金) 17:53:28 ] >>836 なんていうのかな・・・? #include<stdio.h> int main(void) } ・ ・ ・ return 0; } でおわりたい。みたいな・・・?
842 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:55:11 ] >>832 for文2箇所で使って、#define使わずに 間違ってたところあったのでそれも訂正 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6808.txt >>835 暗証番号を三回ミスったってのを知らせないといけないから 0と1を区別して返してる、嫌なら関数を使うのをやめないといけないな
843 名前:kokoro [2008/06/06(金) 17:58:26 ] >>842 関数まだやってないから、先生にみせるときチョット・・・まずいかも・・・ 関数なしでできますか?
844 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:01:51 ] c慣れしてる人に関数無しで・・・ってある意味酷だな
845 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:02:38 ] 後だしで条件つけんなよ
846 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:02:51 ] そこまで条件を後付けするのはわがまますぎるぞ。 自分でプリプロセッシングすれば済む話だろう
847 名前:kokoro [2008/06/06(金) 18:04:53 ] >>844 すみません・・・ 何とかなりませんか?お願いします。
848 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:07:16 ] 簡単だけどやること多くてめんどくさい課題って初心者に出すには不向きだと思うがなあ
849 名前:kokoro [2008/06/06(金) 18:09:56 ] そこを何とか・・・お願いします。 本当に困ってるのです。。。 これができないと・・・。
850 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:10:21 ] >>843 たぶんこれでおk kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6809.txt
851 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:11:23 ] あーマジで関数却下されるとすげー面倒だなw 思考が関数ありきになってるのでむしろ書けといわれると沸きそうだ
852 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:11:47 ] このスレで言うのもなんだが、それもできないようじゃ単位落とした方がいいぞ
853 名前:kokoro [2008/06/06(金) 18:12:38 ] >>850 ありがとうございます!!! 本当に助かりました^^
854 名前:kokoro [2008/06/06(金) 18:15:18 ] >>852 ゼミでこれを取ったのですが、今後悔です。 本当分からないので、嫌になります・・・ マジ、単位落としそうだもん。
855 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:17:33 ] わからないからって人任せにしてたら全然上達しないぞ 書いてもらったソースと勉強に使ってる本見比べて 知識を自分のものにしないとな
856 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:20:35 ] こんな低レベルでもゼミなのかw
857 名前:デフォルトの名無しさん [2008/06/06(金) 18:21:26 ] てかなんで学生って習ってないのを極端に怖がるの? 「勉強しました」って突っぱねれば問題ないじゃん
858 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:23:23 ] 中高のIT関連の授業の課題かと思ってた。
859 名前:kokoro [2008/06/06(金) 18:25:19 ] >>858 初めてc言語やりました。 テキストと並列してやっているので、やってないところがあると まずいかなって。 自分なりのプログラム作ってみます。 でもできないところがあったら、マタお願いしてもいいですか
860 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:34:15 ] 聞くこと前提にしてるとまた後悔するぞw ここ見てりゃ黙っててもソースが出てくるんだから それみて自分で弄ってみろw
861 名前:tk [2008/06/06(金) 18:34:39 ] n個の常連立微分方程式を4次のRunge-Kuttaを使って解くプログラムを教えてください。 配列とか使うみたいなんですけど。
862 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:46:40 ] >>805 void solve(int n) { int i,j,k,u,l,flag; //kを追加 if(n==N){ count++; for(i=0;i<N;i++){ for(j=0;j<N;j++) printf((board[i]==j)?"Q":"+"); printf("\n"); } printf("No. %d\n\n",count); return; } for(i=0;i<N;i++) { j=n-1;u=i+4;l=i-4;flag=1; //uとlの初期値を変更 for(k=0; k<3 && j>=0 && flag == 1; k++, j--) if(l<board[j] && board[j]<u) flag = 0; //この一行を追加 while(flag==1 && j>=0){ if(board[j]==i || board[j]==l || board[j]==u) flag=0; u++;l--;j--; } if(flag==1){ board[n]=i; solve(n+1); } } } 問題写すなら正確に写せよ
863 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:56:27 ] てか,今の時点での未解決問題はどれぐらいなんだ?
864 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:57:25 ] 気になるなら自分で調べればいいだろ。
865 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 19:11:35 ] なんだ、今日はやさしい人が多いなあ
866 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 19:32:11 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク):() kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6813.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 6月9日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) スタックを習っているところです。 よろしくお願いします
867 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 19:45:05 ] >>808 解答と合わせて知識にしていきたいと思います >>812 返答ありがとうございます >>862 返答ありがとうございます ミスありましたか どうもすいません #defineのところですかね…
868 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 19:47:49 ] >>867 >if(board[i]==i || board[j]==l || board[j]==u) flag=0; board[i] じゃなくて board[j]
869 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:04:23 ] >>868 根本と言っても過言ではないところを間違ってましたか ありがとうございます
870 名前: ◆DuoCt8/SKk mailto:sage [2008/06/06(金) 20:05:36 ] >>592 について考えていたのですが,途中で分からなくなりました. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6814.txt 良ければ何かアドバイスなどをもらえないでしょうか?(オプション表示の方法や関数など) よろしくお願いします!
871 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:10:10 ] >>870 実行してないけどオプションの表示はできてるんじゃないの? 入力させて、それに応じたオプション内容を表示できてるんだから後は それを変数に入れておけばよいような。 戻り値にしてもいいし、パラメータで受けとってもいいし、グローバルでもいい。
872 名前:デフォルトの名無しさん [2008/06/06(金) 20:10:52 ] [1] 授業単元:C言語による数値計算 [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6815.txt [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: Windows Visual Studio [3.3] 言語: C++ [4] 期限: 6月8日(日) 自分で作ったプログラムがうまく動いてくれません。 どなたかC言語を用いた数値計算(特に行列計算)に長けている方、 プログラミングに詳しい方、どうかよろしくお願いします。
873 名前: ◆DuoCt8/SKk mailto:sage [2008/06/06(金) 20:16:33 ] >>871 返事ありがとうございます. 実行すると最初の部分はきちんと表示されるのですが ★★★★★★★★操作お疲れ様でした、商品を排出します★★★★★★ 以降の表示がされないのです.あと, >>入力させて、それに応じたオプション内容を表示できてるんだから後は >>それを変数に入れておけばよいような。 >>戻り値にしてもいいし、パラメータで受けとってもいいし、グローバルでもいい。 の部分は・・・具体的にどのようにすればいいのでしょうか?
874 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:24:23 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク):(kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6816.txt ) [3] 環境 [3.1] OS:Linux [3.2] gcc [3.3] 言語: C [4] 期限: ([2008年06月10日まで] [5] その他の制限:問題の文をベースにして、 new old bodyという変数にして、 ab xy acabcならbodyのabのところにxyを置き換え、またnewの値がなかった場合 そのままbodyを出力するというプログラムを作ることです。
875 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:34:54 ] >>872 変数 ‘y1’を使ってないようだけど、式は正しい?
876 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:57:48 ] >>872 b[N]とかa[N][N]ってなにをしたいの?
877 名前:デフォルトの名無しさん [2008/06/06(金) 21:01:44 ] >>872 >>875 ごめんなさい 指摘どおり間違ってたので修正うp kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6817.txt y1を入れました
878 名前:デフォルトの名無しさん [2008/06/06(金) 21:08:14 ] >>876 A*X=Bの方程式のAを行列a[N][N]、Bを行列b[N]として 行列を使ってXを解かないといけないらしくて つまりX=A^(-1)*BにしてXを求めるみたいです
879 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:09:46 ] 宿題:数式処理ソフトMaximaと同等のソフトウェアを明日までに作れ ソースファイルの行数は1000行以内。
880 名前:デフォルトの名無しさん [2008/06/06(金) 21:13:19 ] >>875 >>877 何度もすみません、こっちでした kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6818.txt そちらは間違ってました
881 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:14:54 ] >>879 コンソールでコマンド受け付けて裏でmaximaに投げればいい
882 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:16:42 ] >>878 そういうことじゃなくてb[N]にアクセスすんなってことなんだけど
883 名前:デフォルトの名無しさん [2008/06/06(金) 21:26:29 ] >>880 バカですみません printf("y1 = "); scanf("%lf",&y2);じゃなくてprintf("y1 = "); scanf("%lf",&y1);でした >>882 申し訳ありません、プログラミングに詳しくないので 「b[N]にアクセスするな」とはprintf("%lf\n", b[i]);とdouble gauss( double a[14][14], double b[14] )の 部分ですか? よろしければ解決策を教えて下さい
884 名前:デフォルトの名無しさん [2008/06/06(金) 21:34:36 ] >>882 double gauss( double a[14][14], double b[14] )の /* 後退代入 */ b[N] = b[N]/a[N][N]; のとこはは部分ピボット付きガウス消去法をコピペしてきただけなので 詳しい仕組みやアクセスやらはよく分からないです
885 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:49:16 ] >>206 double b[14]; こう宣言を行ったときは、b[0] 〜 b[13] までの14要素であって、 b[N] == b[14] にはアクセスしちゃいけないってこと。 Nをdefineしたのに14という数字があちこちに散らばってる (マジックナンバーていいます)のもよくないよ。
886 名前:885 mailto:sage [2008/06/06(金) 21:50:18 ] なんかレスアンカミスった>< >>885 は >>883 宛てです
887 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:59:14 ] 本人が何をしてるかわからないもののデバッグなんてさせんな
888 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 22:02:09 ] >>646 とりあえず出来た kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6819.txt
889 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 22:06:56 ] 何も分からんならmaximaでもmathematicaでも好きに使って解けばいい
890 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 22:09:26 ] >>887 じゃあ宿題を片付けますスレに来なければいいじゃんww 分からない人やできない人を貶したいだけなら他に逝けよ
891 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 22:10:56 ] >>890 そういうお前も文句つけたいだけだなw
892 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 22:22:48 ] >>891 うわぁ....... まるで餓k(ry
893 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 22:31:29 ] >>884 とりあえずループ変数を<=Nじゃなくて<Nまでにしてみたら?
894 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 22:33:52 ] 一から問題解くならいいけど、腐ったコードの手直しさせられるのは勘弁願いたい どんだけ凡ミスあるかいちいちチェックしなきゃいけないのかよ
895 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 22:42:07 ] 俺もあの有名なサイト「初心者のため(ry」でひどいソースを呈示され 「どこが間違ってるんでしょうか」と言われ、あまりのひどさに一からソースを 起こして書いてやったらすぐ書けてしかも正常に動いた。 ところが質問者が「元のソースを手直しして欲しいのです」と来たもんだ。 金もらってるならともかく、こんなボンクラの相手をしている暇はないので それ以降無視してやった。
896 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 23:22:21 ] >>873 張ってあるソースは全然使ってないし、ごちゃごちゃしてわかりずらいかもしれないけど、 できたのでうp (まだ気に入らないところあるけど、言い出したらきりないしね) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6820.c
897 名前: ◆DuoCt8/SKk mailto:sage [2008/06/06(金) 23:30:46 ] >>896 わざわざソースを書いて頂きありがとうございます! 参考書を使いながら理解に励もうと思います.
898 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 23:50:38 ] >>897 質問者の皆が皆こんな感じの人なら気持ちいいのにな 頑張ってね
899 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 23:59:58 ] >>897 ! 今回は高度すぎて、、とかじゃなくて理解しようと思いましたかw いい心がけだとおもいますー。応援してるお
900 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 00:06:41 ] [1] C [2] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6822.txt [3] [3.1] LINUX [3.3] C [4] 6月9日 [5] 記載のプログラムに付け加える形でお願いします よろしくお願いします
901 名前:896 mailto:sage [2008/06/07(土) 00:48:25 ] >>897 一部変数名がなんかおかしいところあるから気をつけてね 最初、optvol_tのところoptmode_tで作ってたのを あげる前に見直してモードじゃおかしいな、量だなってことでoptmode_t だったのを optvol_tに 代えたんだけど、関連する場所(option_t 内のmode, modeflgとか)変更するの忘れてた ソースの修正はやっぱ慎重にしなきゃね
902 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 00:49:16 ] そんな変更エディタの機能でやればいいのに
903 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 01:02:48 ] 置換 mode→vol でおk
904 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 01:05:46 ] >>874 日本語で
905 名前:896 mailto:sage [2008/06/07(土) 01:09:11 ] >>897 変数名修正したのあげときます(なんかまだおかしいとこありそうだけど) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6823.c
906 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 01:37:41 ] >>874 tr コマンドみたいなものでおk?
907 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 01:39:29 ] この規模なら気にしなくていいけど、エディタの機能でやるときには 慎重にやらないとだなあ。 リファクタリング機能のある開発環境ならさっくりだけど。
908 名前:デフォルトの名無しさん [2008/06/07(土) 03:01:33 ] [1] 授業単元: C言語 [2] 問題文: 入力文字列からトークンを切り出してchar配列に格納するプログラムを作成する。 <入力文字列の指定条件とトークンの切り出しについて> ・入力文字はASCIIコードのみとする。 ・デリミタとなる文字は半角スペースとする。 例) 入力が「abc defg hij」 → 「abc」、「defg」、「hij」の3つのトークン ・半角スペースを含むトークンは"(ダブルクォート)でトークンを囲む。 例) 入力が「abc "d e f g" hij」 → 「abc」、「d e f g」、「hij」の3つのトークン ・トークンに"(ダブルクォート)自体が含まれる場合は""のように2回指定する。 例) 入力が「abc "d e "" f g" hij」 → 「abc」「d e " f g」「hij」の3つのトークン [3] 環境 [3.1] OS: Ubuntu 8.04 [3.2] コンパイラ名とバージョン: gcc4 [3.3] 言語: C [4] 期限: 来週まで [5] その他の制限: トークンの個数や入力文字列の長さは特に上限がないので、自分で設定してよいそうです。 試しにstrsep()で空白スペースをデリミタにすると、やはりトークンがおかしくなります。 長くなりましたが、よろしくお願いいたします。
909 名前:デフォルトの名無しさん [2008/06/07(土) 03:53:36 ] >>908 abc"def""ghi"jkl とかは?
910 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 07:20:12 ] >>909 4番目の条件に合致しない?
911 名前: ◆DuoCt8/SKk mailto:sage [2008/06/07(土) 08:19:55 ] >>901 >>905 そうだったのですか・・・全くわかりませんでした,指摘して頂きありがとうございます. 引き続き頑張ってみます!
912 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 09:59:53 ] >>910 デリミタとして指定されてるのが半角スペースだけだから abc"def""ghi"jklが abc def"ghi jkl なのか abcdef""ghijkl なのかどっちで作ればいい?ってことでしょ。
913 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 10:02:30 ] あ、あと4つに分割する可能性もあるのか。
914 名前:639 mailto:sage [2008/06/07(土) 10:33:41 ] >>639 ですが あれからしばらく自分なりに頑張ってみたのですが どうにもうまくいかず… gccは無理なのでしょうか? すみませんがアドバイスお願いします
915 名前:908 mailto:sage [2008/06/07(土) 10:55:54 ] >>909 >>910 >>912 入力文字列が「abc"def""ghi"jkl」の場合は、 デリミタの半角スペース無しで"(ダブルクォート)が 指定されたという事でフォーマットエラーとするそうです。 × 「abc"def""hki"jkl」 ○ 「abc "def""ghi jkl」
916 名前:908 mailto:sage [2008/06/07(土) 10:58:43 ] すみません。記述ミスしました。 × 「abc"def""hki"jkl」 → 'c'の後に'"'なのでフォーマットエラー ○ 「abc "def""ghi" jkl」 → 「abc」「"def"hki」「jkl」の3つのトークン
917 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 11:23:57 ] >>914 物凄くやっつけで完璧に動作するか知らないけどこんなんで良いならどうぞ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6824.txt
918 名前:908=916 mailto:sage [2008/06/07(土) 11:34:43 ] また間違えました。もう何か駄目だ… × 「abc"def""hki"jkl」 → 'c'の後に""でなく"dとなっているのでフォーマットエラー ○ 「abc "def""ghi" jkl」 → 「abc」「def"hki」「jkl」の3つのトークン
919 名前:639 mailto:sage [2008/06/07(土) 11:49:50 ] >>917 氏、ありがとうございます とてもありがたいですm(_ _)m
920 名前:デフォルトの名無しさん [2008/06/07(土) 12:22:39 ] >>810 忘れ去られてそうなので…
921 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 12:55:06 ] >>810 (>>920 ) 問題の意味が分かりません ついでにC++?C?
922 名前:ロベ [2008/06/07(土) 13:14:42 ] >>888 ありがとうございました。 その他の方も色々とありがとうございました。
923 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:48:10 ] 期限過ぎてない奴で反応がない課題(多分) 6/9 >>485 >>866 6/11 >>765 6/14 >>597 6/18 >>608 6/20 >>179
924 名前:874 mailto:sage [2008/06/07(土) 15:19:25 ] すいません、わかりにくく書いてしまって。 いいたいことは、張ったコードをmember()で利用して そのアルファベットがあれば置き換えるプログラムが作りたいのです。 よろしくお願いします。
925 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:50:41 ] >>908 エラー処理がやっつけなので、もっとデバッグする必要あり kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6825.txt
926 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:27:29 ] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6826.txt [1] 授業単元:コンピュータグラフィックス [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6826.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VisualC++6.0 [3.3] 言語: C++ [4] 期限:6月10日までにお願いします。 [5] その他の制限:元の図をもとに、できるだけ簡単にお願いします。
927 名前:925 mailto:sage [2008/06/07(土) 21:51:07 ] >>908 スレが進んでいなかったので、自分デバッグしてみた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6827.txt
928 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:08:47 ] >>765 fork1とfork2は外部プログラムとして呼ぶの? それとも、親プログラムに埋め込むの?
929 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:44:44 ] [1] 授業単元:c言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6828.txt [3] 環境 [3.1] OS:xp [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語: C [4] 期限:明日中 [5] その他の制限:できるだけ簡単なプログラムでお願いします お願いします
930 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:47:06 ] >>929 問題は?
931 名前:929 mailto:sage [2008/06/07(土) 22:47:29 ] 929です すいませんが問題の追記です このプログラムが正常に作動するように記述を追加しなさい 入力される文字列は9文字以下とする m<_ _>m
932 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:49:51 ] char *str[NUM] → char str[NUM][10]
933 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:50:08 ] コメントアウトする馬鹿登場 ↓
934 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:51:02 ] ↑ コメントアウトする馬鹿
935 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:53:48 ] 追加限定なら #include <stdlib.h> for(i=0; i<NUM; i++) str[i] = malloc(10); for(i=0; i<NUM; i++) free(str[i]); をそれぞれ適切な位置に追加
936 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:06:38 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): kadai01.c コマンドラインから加算もしくは減算の式を入力し 以下のような結果になるように/*記述*/のところを追加して完成させよ #include <stdio.h> #include <stdlio.h> int main(int argc, char *argv[]) { int result; /*記述*/ printf("result = %d\n",result); return(0); } 結果 kadai01 10 + 21 31 [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)すみませんわかりません [3.3] 言語: C [4] 期限:月曜まで(できるだけ早めで) [5] その他の制限:大学2年レベルでお願いします
937 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:08:21 ] >>936 result=argv[0]+argv[2];
938 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:09:48 ] result = atoi(argv[1]); if(argv[2]=='+') result += atoi(argv[3]); else if(argv[2]=='-') result -= atoi(argv[3]);
939 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:10:56 ] >>932 早い解答ありがとうございます
940 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:12:27 ] >>938 ちょw
941 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:13:42 ] >>938 これはひどい
942 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:14:49 ] argv[2][0]=='+' か strcmp(argv[2],"+")==0 だな
943 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:21:16 ] 936 減算の場合は+をそのまま-にすればいいんでしょうか?
944 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:43:37 ] [1]プログラミング [2]問題文 三つの整数値を読み込んで、それらの値が全て等しければ、「三つの値は等しいです。」と、どれか二つの値が等しければ、「二つの値が等しいです。」と、そうでなければ、「三つの値は異なります。」と表示するプログラムを作る。 [3-1]windows [3-2]gcc [3-3]C言語 [4]明後日まで。 よろしくお願いいたします。
945 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:46:03 ] 条件演算子で済ませる馬鹿 ↓
946 名前:↑答える気も無いのに批判しかしないバカ mailto:sage [2008/06/07(土) 23:51:49 ]
947 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:52:47 ] #include <stdio.h> int main(void) { int a, b, c; char *str[] = {"三つの値は異なります。","二つの値が等しいです。","", "三つの値は等しいです。"}; scanf("%d%d%d", &a, &b, &c); printf("%s\n", str[(a==b) + (b==c) + (c==a)]); return 0; }
948 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:03:59 ] おい、全部等しかったら死ぬぞ
949 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:05:02 ] 勝手に死んでろよw
950 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:06:06 ] 死なない 空文字列が目に入らぬか?
951 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:07:59 ] >>948 答えもせず、さらに間違うとは、お前このスレには必要ねーな 一生ROMってろ
952 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:13:19 ] [1] 授業単元: [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6832.txt [3] 環境 [3.1] OS:xp [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語: C [4] 期限:月曜日まで [5] その他の制限:大学生レベルでお願いします よろしくお願いします
953 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:31:35 ] d = malloc(sizeof(char *) * NUM); for(i=0; i<NUM; i++) { for(j=0; p[i][j]; j++); d[i] = malloc(j + 1); while(j >=0) { d[i][j] = p[i][j]; j--; } } func(ccc);
954 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:37:44 ] >>953 ありがとうございます ですがmallocをまだ習ってないので 使わずにできませんか?
955 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:39:27 ] >>954 >d[NUM][文字列の長さ+1]を動的にメモリ上に確保する それだとこれができない
956 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:39:29 ] callocは習った?
957 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:40:27 ] mallocを習わずどうしてfreeが出てくるんだ?
958 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:40:42 ] >>956 はいcallocは習いました
959 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:42:26 ] 習ってない事はやらないのが大学生レベルですか?
960 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:42:56 ] じゃあ malloc(sizeof(char *) * NUM) → calloc(NUM, sizeof(char*)) malloc(j + 1) → calloc(j+1, 1)
961 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:45:47 ] >>960 ありがとうです!!
962 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:47:01 ] calloc教えてmalloc教えないとはw それか単にmallocは習ったけど脳内スルーで習ってないことになってるか
963 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:48:37 ] realloc、エラ張るとテネスは学びました!バブルソートは習ったけど 基本洗濯、クックソートは学んでいませんです、はいっ!おながいします!
964 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:51:42 ] 953まで誰も答えないのに、954が出たとたんに書き込み増えるってw ホントにこの時間はケチつけたいだけのヤツがいるんだな
965 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:53:14 ] >>964 だからそれがお前だろ?
966 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:53:27 ] 別に自己紹介しなくてもいいだろ
967 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:54:33 ] >>965 いや俺は953で960だ。 ついでに言えば932で935で947でもある。
968 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:55:49 ] ケチつけてるのは俺だけだけど?
969 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:59:58 ] >>968 >>890
970 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 01:26:43 ] >>969 いや、2chなんて捻くれてる人間だから ケチつけて情報を引き出すの。
971 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 01:32:06 ] 麻呂のクソースはケチをつけられようが、早く出せと言われようが またーりと記述した後適当にうpするでおじゃるよ?
972 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 04:47:03 ] [1] 授業単元: アルゴリズム [2] 問題文(含コード&リンク): 非再帰的な方法でヒープソートを実装せよ [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: bcc [3.3] 言語: C [4] 期限: 2008/6/9まで [5] その他の制限: www2.uploda.org/uporg1469814.txt.html まで書いたのですが、きちんとソーティングされなくて困ってます。 どこがおかしいのでしょうか? よろしくお願いします。
973 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 05:27:49 ] >>972 プロトタイプ宣言が・・・・
974 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 05:32:47 ] プロトタイプ宣言とソーティングされないのは関係ないだろw
975 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 06:03:42 ] #include <sys/wait.h> #include <stdio.h> #include <unistd.h> int main() { pid_t p1, p2; switch (p1 = fork()) { case -1: perror("fork"); return 1; case 0: /* ここに fork1 の内容を書く */ _exit(0); default: break; } switch (p2 = fork()) { case -1: perror("fork"); return 1; case 0: /* ここに fork2 の内容を書く */ _exit(0); default: break; }
976 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 06:04:27 ] for (; p1 != -1 || p2 != -1;) { pid_t c; int status; if ((c = wait3(&status, 0, NULL)) == -1) { perror("wait3"); break; } if (c == p1) { if (WIFEXITED(status)) printf("fork1 exit (%d)\n", WEXITSTATUS(status)); else printf("fork1 killed (%d)", WTERMSIG(status)); p1 = -1; } if (c == p2) { if (WIFEXITED(status)) printf("fork2 exit (%d)\n", WEXITSTATUS(status)); else printf("fork2 killed (%d)", WTERMSIG(status)); p2 = -1; } } return 0; }
977 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 06:28:11 ] >>972 - iter_heap(a,0,size-2); + iter_heap(a,0,size-2); もう一カ所間違いがあるが、自分で探せ。
978 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 08:09:30 ] >>977 もちつけ
979 名前:デフォルトの名無しさん [2008/06/08(日) 08:21:35 ] 完全ニ分木って階層を渡って一列に整列できるよね ある節の子の左の子の添え字を返す関数かいてみてくれない いやならいいけど 多分嫌だろうけど
980 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 09:31:12 ] [1] 授業単元: プログラム [2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6833.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC6 [3.3] 言語: c++ [4] 期限: 2008/6/10 [5] その他の制限: 問題文中の制限 お願いします(・ω・`)
981 名前:側近中の側近 ◆0351148456 [2008/06/08(日) 09:45:57 ] >>980 (っ´▽`)っ こんな簡単なプログラムなら自分で作ればいいじゃない
982 名前:側近中の側近 ◆0351148456 [2008/06/08(日) 09:50:18 ] >>980 (っ´▽`)っ #include <stdio.h> int main(void) { int h[10]; int i; for(i = 0; i < sizeof(h)/sizeof(h[0]); i++){ h[i] = 10 - i; printf("h[%d] = %d\n", i, h[i]); } printf("h[%d] = %d\n", 3-1, h[3-1]); printf("h[%d] = %d\n", 5-1, h[5-1]); return 0; }
983 名前:側近中の側近 ◆0351148456 [2008/06/08(日) 09:55:27 ] (っ´▽`)っ これはC言語であって、C++じゃない というような野暮なことは言わないように。
984 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 10:28:10 ] ああc++でした いくつか似たような問題とかないといけないので参考にさせていただきます 有難うございました(´・ω・)
985 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 10:31:45 ] すいません、どなたか>>866 お願いします
986 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 10:49:57 ] [1]プログラミング [2]問題文 要素数がnoであるint型の配列v2の並びを逆順にしたものを配列v1に格納する関数を、動作を確認するための適切なメイン文も含め作る。 [3-1]windows [3-2]gcc [3-3]C言語 [4]明後日まで。 [5]なるべく単純な書き方にしてもらいたいです。 よろしくお願いいたします。
987 名前:側近中の側近 ◆0351148456 [2008/06/08(日) 11:08:15 ] >>986 (っ´▽`)っ 以前回答しただろうがっ
988 名前:デフォルトの名無しさん [2008/06/08(日) 11:13:21 ] >>866 課題1 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6834.txt
989 名前:側近中の側近 ◆0351148456 [2008/06/08(日) 11:14:16 ] >>986 (っ´▽`)っ void sortInverse(int *v1, int *v2, int no); int main(void) { int no; int i; int v1[] = {1, 2, 4, 8, 16, 32, 64}; int v2[7]; no = sizeof(v1)/sizeof(v1[0]); for(i = 0; i < no; i++){ printf("v1[%d] = %d\n", i, v1[i]); } sortInverse(v1, v2, no); for(i = 0; i < no; i++){ printf("v2[%d] = %d\n", i, v2[i]); } } return 0; } void sortInverse(int *v1, int *v2, int no) { int i; for(i = 0; i < no; i++){ v1[i] = v2[no - i - 1]; } return; }
990 名前:側近中の側近 ◆0351148456 [2008/06/08(日) 11:14:56 ] (っ´▽`)っ >>989 は微妙に間違っているがそれがいい。 >>986 は苦しめ☆
991 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 11:32:03 ] >>988 ありがとうございます! 例題では pop 1 回目 50 をpop します。 スタックの中 [ 40 30 20 10 ] pop 2 回目 40 をpop します。 スタックの中 [ 30 20 10 ] ・ ・ のところが、書いてもらったプログラムでは pop 1 回目 50 をpop します。 スタックの中 [ 10 20 30 40 ] pop 2 回目 40 をpop します。 スタックの中 [ 10 20 30 ] ・ ・ となっているのですが、どうすればいいのでしょうか?
992 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 11:36:30 ] >>991 失礼いたしました。printstack関数を変更して下さい。 /* スタックの出力 */ void printstack(CELL *stack) { int i; printf("\tスタックの中 [ "); for(i = stack->top - 1; i > 0; i--){ printf("%d ", stack->element[i]); } /* for文の中に判定文を入れたくなかったから、外に出した */ if(i == 0){ printf("%d ", stack->element[i]); } printf("]\n"); }
993 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 11:40:32 ] >>992 ご丁寧にありがとうございます。 ちゃんと動作しました!
994 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 12:31:30 ] 次スレ C/C++の宿題を片付けます 109代目 pc11.2ch.net/test/read.cgi/tech/1212895856/
995 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 12:46:14 ] >>992 なんで外に出してるの?
996 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 14:49:06 ] 中に出すと出来ちゃうから。
997 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 14:51:11 ] >>996 指導 減点1
998 名前:765 mailto:sage [2008/06/08(日) 16:49:26 ] >>928 言葉足らずで申し訳ありませんでした。 外部プログラムとして呼ぶ形でお願いいたします。
999 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 17:02:34 ] 999
1000 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 17:03:10 ] うめ
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。