1 名前:デフォルトの名無しさん [2010/01/18(月) 23:25:55 BE:265079647-S★(508111)] あなたが解けない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++の宿題片付けます 133代目 pc12.2ch.net/test/read.cgi/tech/1260532772/
345 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 12:09:33 ] >>341 宿題のレベル超えるから最適化アルゴリズムでも調べてくれ >>342 それをやったとしても計算量のオーダーには寄与しないよ テクニックとしては重要だが。 >>343 そのやり方だと「AとBが隣り合う」という条件を完全に満たして、 「身長差が小さい」についてはそこそこ、という解が得られる。 そういう解が欲しいときにはその手の方法がベストだと思う。 >>200 の問題文を見る限り、その解釈でいいと思う。
346 名前:デフォルトの名無しさん [2010/01/30(土) 13:21:56 ] Microsoft社 Visual Studio C++のソフトウェアを用いて チャットアプリケーションを作れと言われたのですが、 当方C言語系がとても苦手で困っています;; システムの仕様は ・1対1の環境でのみ動作。 ・サーバ側はポート番号を指定して、クライアントからの接続を待つ。 ・クライアント側はサーバのIPアドレスとポート番号を指定して、サーバに接続する。 ・この時の通信はTCPで行う。 ・クライアントが通信をやめたい場合は"endc" ・サーバ側がやめたい場合は"ends"と入力。 ・WinSockを使用してWindowsのコンソールプログラムとして基本的な簡易なチャット 以上の条件でプログラミングしていただけると幸いです。 よろしくお願いします m__)m
347 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 13:38:34 ] >>346 >>1
348 名前:200 mailto:sage [2010/01/30(土) 14:21:39 ] 身長順にソートできれば確かに楽になりそうですね。 ただ>>200 の問題はもっと複雑なものの一部分を抜き出したもので、 本当は身長順というよりも2次元平面上で距離が近いもの同士って感じなんです。 そうなると・・・ちょっと安易にはソートできないかな? なんにしても宿題としては提出してしまっているので自分が気になってるだけです。 最適化アルゴリズムでいろいろ見てみようと思います。
349 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 14:45:58 ] Cマガのプログラミング研究会を思い出した。
350 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 15:26:06 ] >>345 343じゃないけど、>>343 のやり方で、 身長差が最小とならない場合って、どんな場合? 計算してみたら、常に最小になりそうなんだが。 それとも「そこそこ」ってのは 「最小にならない場合がある」って意味ではない?
351 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 15:29:09 ] [1] 授業単元:プログラミング演習U [2] 問題文(含コード&リンク): □1□2□3□4□5□6□7□8□9 の□に四則の演算子(+,−)や空白を入れて100なるような 小町算の全ての解を求めるプログラムを作成すること 例えば 12 + 3 - 4 + 5 + 67 + 8 + 9 = 100 123 - 45 - 67 + 89 = 100 [3] 環境 [3.1] OS: Windows [3.2] VC3.5SP1 [3.3] 言語: C++ [4] 期限: 本日4時まで [5] その他の制限: 特にないです かなり切羽詰まってるのでお願いします…
352 名前:350 mailto:sage [2010/01/30(土) 15:42:36 ] と、思ったけど、AとBが隣り合わない場合を考慮すると、 343のやり方では、身長差が最小とならない場合がある、 という意味だったのね。 失礼、読み違えてました。
353 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 16:14:36 ] [1] 授業単元:コンピュータグラフィック [2] 問題文(含コード&リンク):10468.txt モノクロ画像を読み込み,(319,239) の画素値を 0 とする 画像を関数を使用して読み込み,それを 2 次元配列に格納する関数を作成する. 指定した画素の画素値をセットする. 2 次元配列に格納していた画像を 1 次元配列に再度格納し,関数を使用して画像ファイルとして書き戻す. [3] 環境 [3.1] OS:WindowsXP [3.2] VC 05 [3.3] 言語:C [4] 期限: ([2010年2月1日01:00まで] [5] その他の: 前スレで24日辺りに回答を頂いた問題なのですが、差し戻されました 自分なりに分かる部分を書き直してみましたが、一向に解決しないので回答をいただけないでしょうか?
354 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 16:16:35 ] >>351 31分でコードを作ってもらおうという考えは非常識
355 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 17:51:17 ] >>351 前にIPAの試験に出てたので、そのまま作ってみたよ codepad.org/2eIcdrm7
356 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 18:07:34 ] [1]情報科学特論 (大学院講義レポート課題) [2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10469.txt [3] OS:Solaris GNU-C-compiler 4.0 C言語 [4] 2/11迄 [5] 面倒なのでよろしく
357 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 18:28:17 ] [1] 授業単元:計算機自論 [2] 問題文(含コード&リンク): LISPはCと同じで関数型言語ではないということを200文字以内で表現してください [3] 環境 [3.1] OS: すべて [3.2] コンパイラ名とバージョン: すべて [3.3] 言語: 日本語 [4] 期限: 無期限
358 名前:デフォルトの名無しさん [2010/01/30(土) 19:15:44 ] [1] 授業単元:プログラミング演習U [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10471.txt [3] 環境 [3.1] OS:WindouwsXP [3.2] コンパイラ名とバージョン:VisualC++2008 Express Edition [3.3] 言語:C [4] 期限:2010年2月2日15:00まで [5] その他の制限:特になし なんとか途中まで頑張りましたが、今の自分ではこれが限界でした・・・。 問題文リンク先の≪問題と条件≫の全てを満たすソースを、お教え下さい。 お手数かけますが、よろしくお願いします。
359 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 19:21:19 ] >>351 なんか変数いっぱい散らかしてもっちゃりしてるけど。 処理もなんかぐねぐねぐねぐねとしてるし。駄目だな。 ttp://codepad.org/E2NpBjB2 >>355 さんのを見て勉強しなおしてきます。
360 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 19:44:31 ] >>358 #include <stdio.h> int main(int argc,char *argv[]){ FILE *fp1=NULL,*fp2=NULL; char buf; int i=1; int result=0; if(argc!=3){ printf("引数が不正\n"); result=-1; goto EXIT; } fp1 = fopen(argv[1],"rb"); fp2 = fopen(argv[2],"w"); if(fp1==NULL || fp2==NULL){ printf("file open error\n"); result=-1; goto EXIT; } while(fread(&buf,1,1,fp1)){ fprintf(fp2,"%02X ",buf); if(i%16==0) fprintf(fp2,"\n"); i++; } EXIT: if(fp1) fclose(fp1); if(fp2) fclose(fp2); return result; }
361 名前:デフォルトの名無しさん [2010/01/30(土) 20:26:12 ] 360さん。回答ありがとうございます。 早速、このソースでコンパイルしたところ問題なくビルドは出来ました。 しかし、その後の「デバックなし」で実行してみましたが、 「引数が不正」と表示されてしまい、上手く出来ません。 これは何故でしょうか?しょぼい質問ですいません・・・。
362 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 20:38:24 ] >>361 ≪問題と条件≫ 第1引数に指定したファイルからバイナリーモードで1バイトずつファイルを読み込み、 ファイルの内容を16進数で示したものを第2引数に指定したファイルに書き込むプログラムを作成せよ。ただし、16バイトごとに改行を入れること。 (実行) >free1.exe test.txt test2.txt でしょ?
363 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 20:41:50 ] >>361 横からだけど、 今の場合引数っていうのは、プログラム実行時にプログラム名の後に続けて書くもの >free1.exe test.txt test2.txt この場合はtest.txtが第1引数で、test2.txtが第2引数 例えばここを >free1.exe hoge.txt fuga.txt にしても、ちゃんとhoge.txtから読み込んでfuta.txtに出力するような プログラムを作れっていうのが、この課題なんじゃないかな
364 名前:デフォルトの名無しさん [2010/01/30(土) 20:45:52 ] >>362 はい、そうです。
365 名前:デフォルトの名無しさん [2010/01/30(土) 20:51:31 ] >>363 はい、test.txtとhoge.txtは、あらかじめ作成している状態です。
366 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 20:57:08 ] 分かってねー
367 名前:363 mailto:sage [2010/01/30(土) 20:59:19 ] >>365 だったら実行時に指定しないと。 VC++でどうやって指定するか分かんないけど
368 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 21:11:35 ] >>365 コマンドライン引数というものが分かってないので ttp://www9.plala.or.jp/sgwr-t/c/sec11-4.html ttp://www.geocities.jp/ky_webid/c/045.html この辺読みましょう
369 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 22:28:36 ] [1] 授業単元: プログラム演習U [2] 問題文(含コード&リンク): 3次元空間において線分が平面を通過しているか判定するプログラムを作りなさい (線分の座標(x1,y1,z1) (x2,y2,z2)と平面の四隅の座標は入力する) 平面を通過していても平面の四隅の中に交点がない場合は通過していないものとする [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:VC [3.3] 言語: C [4] 期限:2010/2/8 お願いします
370 名前:デフォルトの名無しさん [2010/01/30(土) 22:43:05 ] >>358 です。 稚拙ですが、質問をURLにまとめたので、よろしくお願いします。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10472.txt
371 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 22:46:23 ] >>370 >>368 を読め。
372 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 22:58:55 ] >>370 Cドライブ直下にfreeフォルダを作成します。 C:\free です。 >>360 のソースを free1.c などとしコンパイルして free1.exe を作成します。 作成された free1.exe を C:\free フォルダ内にコピーします C:\free\free1.exe です。 作成済みのデータ test.txt も同様に C:\free フォルダ内にコピーします C:\free\test.txt です。 C:\free フォルダの中には free1.exe test.txt 2つのファイルがあります。 コマンドプロンプトを起動します。 スタート>ファイル名を指定して実行>cmd.exe OKボタン コマンドプロンプトが立ち上がりました。 C:\............... >_ (_は点滅状態) となります。 カレントディレクトリを C:\free に移動します。 C:\............... >cd c:\free です。 C:\free>_ (_は点滅状態) になりました。 この状態で C:\free>free1.exe test.txt test2.txt を実行します。 C:\freeフォルダの中に test2.txt が作成されました。おしまい。
373 名前:デフォルトの名無しさん [2010/01/30(土) 23:03:50 ] >>340 ありがとうございます!助かりました! 課題4、5については引き続きどなたかよろしくお願い致します。。
374 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 23:30:33 ] >>353 ファイルの入出力はファイルポインタを用いたものに変更してます。 (インデントが変な所はタブをスペース4つに換えて下さい) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10473.txt
375 名前:デフォルトの名無しさん [2010/01/31(日) 00:04:17 ] 372さん。回答ありがとうございます。 アドバイス通りにしてみて、実行したのですが、 「Lhaplus slef extractor」というのが 表示されます。展開先のフォルダはC:\free を選べるのですが、 展開されるファイルが何故かfree1.cしか選べません・・・。 何度も見直して実行したのですが、結果は一緒です。 これは、なにか他に原因があるのでしょうか?
376 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 01:53:57 ] >>356 には手だすな。 >>357 も>>369 も やんないほうがいい
377 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 02:16:46 ] >>375 それ以上の質問はスレ違いどころか板違い。
378 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 02:35:35 ] 乱数は言語学習レベルの人がうかつに手を出すべきものじゃない。 補助的に使うのならともかく 高度に依存するプログラムの生成には高度な専門知識が必要で 専門家”集団”レベルで扱うべきもの。 みだりに使う癖だけは付けないほうが良い 以上自戒を込めて
379 名前:378 mailto:sage [2010/01/31(日) 02:37:05 ] 誤爆につき謝罪
380 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 07:42:21 ] around >>372 www.geocities.jp/ky_webid/c/image/commandline.png
381 名前:デフォルトの名無しさん [2010/01/31(日) 07:47:50 ] [1] 授業単元:プログラミング演習U [2] 問題文(含コード&リンク): 入出力とデータファイルへの保存とその間の処理あるプログラムを作成する kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10475.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限:2010年2月4日まで [5] その他の制限:特にありません 自分では手のつけようがなく、非常に困っています。 どなたかよろしくお願いします。
382 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 14:33:52 ] 漠然としすぎ
383 名前:357 mailto:sage [2010/01/31(日) 15:40:24 ] ほとほと困っています。どなたか回答お願いします。
384 名前: ◆QZaw55cn4c [2010/01/31(日) 15:41:15 ] [1] 自主課題:前スレ pc12.2ch.net/test/read.cgi/tech/1260532772/776 関連 [2] パイプ機能(prog1|prog2|prog3) を有するシェルを作成せよ。 [3.1] WindowsXP/cygwin または Linux(Vine linux 4.2) [3.2] gcc3 [3.3] C [4] 特になし 前スレ pc12.2ch.net/test/read.cgi/tech/1260532772/776 を解こうとして挫折しました。 なにとぞ、お手本のプログラムを示していただきたく、お願いいたします。 私のほうでは、 まず、pipe() -> fork() ->read()/write()またはgetchar()/printf() の流れでチャイルドプロセスの鎖の間をパイプでつなごうとしましたがうまくいきません。 プログラムは codepad.org/lkCrVtuo です。 #define LOWLEVEL ではパイプが頭からお尻までつながって、 read()/write() 低水準入出力てデータが渡り、最後にプロンプトが表示されます。 ところが、 /* #define LOWLEVEL */ とコメントアウトした場合、FILE stdin, stdout でデータの読み書きを行うのですが、EOF を検出できず チャイルドプロセスがロックしてしまいます。 ヒントでもかまいませんので、この種のプログラムのやりかたをどうか教えていただきたくよろしくお願いいたします。
385 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 16:06:44 ] >>384 > EOF を検出できず EOFではなく0x0Aを検出したらどうでしょ
386 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 19:35:06 ] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10480.txt どうぞ。
387 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 19:43:07 ] 息抜きにって下さい。 自分は分からないっす お客様に「今後の夏のセールには、必ず連絡してほしい」といわれた時 お客様に「もらいもので気に入らないので他の商品と取り替えて欲しい」といわれた時 販売員の正しい行動を。
388 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 20:49:08 ] 上司に聞け
389 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 22:26:49 ] >>384 できたよ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10481.c
390 名前:384 mailto:sage [2010/01/31(日) 23:00:10 ] >>389 提示されたコードを読ませていただき、私のコードがうまくいかなかった原因がわかりました。 int fd[2]; pipe(fd); dup2(fd[0], 0); close(fd[0]); のあとに、 close(fd[1]); が必要でした。 その他、いろいろと示唆にとむコードを掲示していただき、ありがとうございました。
391 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 00:47:15 ] すいませんが規制されてるので携帯から簡単に 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10482.txt 環境:XP、gcc、C言語 期限:今日の午前中 その他制限:なし 構造体とfwrite関数とコマンドライン引数等を使うらしいのですがよく分かりません よろしくおねがいします
392 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 00:50:31 ] >>391 追加ですいません バイナリファイルです
393 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 01:44:49 ] >>391 名前〜年齢間のタブ数が一定ではないけどそのルールはどうなってるの?
394 名前:デフォルトの名無しさん [2010/02/01(月) 05:48:48 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): 住所録の機能を実現するプログラムを作成せよ。 [3] 環境 [3.1] OS: unix [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:2月3日 17時まで [5] その他の制限: 特になし
395 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 08:23:12 ] >>384 ,390 EOFの検出はfeof()でできるよ。
396 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 09:15:16 ] >>393 タブ数は共通して一回です
397 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 10:27:05 ] >>391 codepad.org/YWsKOWtO これじゃダメ?
398 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 10:28:21 ] >>391 連投スマソ。 構造体も,fwrite() も使ってなかったorz 忘れて下さい。
399 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 10:32:02 ] [1] 授業単元: C++実習 [2] 問題文(含コード&リンク): ●自由にクラスを設計する 設計図を提出 : クラスのデータメンバ、メンバ関数、仕様、 使い方等を詳しく説明したドキュメント 形式自由 (ただし電子化されたものに限る) [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VisualStudio2008 [3.3] 言語: C++ [4] 期限: 2010年2月7日まで プログラム作成ではないのですが、よろしければよろしくお願いします。
400 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 11:11:23 ] 設計図て。図まで書けと申すか。
401 名前:デフォルトの名無しさん [2010/02/01(月) 11:32:51 ] 規制中なので携帯から失礼します [1] 授業単元:プログラミングI [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10477.txt [3] 環境 [3.1] OS:Windows vista [3.2] コンパイラ名とバージョン:visual studio2008 [3.3] 言語:C++ [4] 期限:2010年02月5日まで [5] その他の制限:特になし 自分では全然作れませんでした・・・ よろしくお願いします
402 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 12:47:47 ] 配列の使い方がイヤすぎるw
403 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 12:48:02 ] schaffleって英語じゃないよな?何語?
404 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 12:51:07 ] シャッフルしてランダムな結果を返すならシャッフル関数は2つもいらない気がする
405 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 12:55:25 ] schaffle1(int n, int a[]) { while(n > 1) { int i = rand() / (RAND_MAX + 1.0) * n + 1; int temp = a[n]; a[n--] = a[i]; a[i] = temp; }} schaffle2(int n, int a[]) { int i, j, temp; for(i=1; i<=n; i++) { j = rand() / (RAND_MAX + 1.0) * i + 1; temp = a[j]; a[j] = a[i]; a[i] = temp; }}
406 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 14:48:08 ] [1] 授業単元:プログラミング応用演習 [2] 問題文(含コード&リンク): ttp://mikilab.doshisha.ac.jp/dia/research/report/2008/1118/002/report20081118002.html [3] 環境 [3.1] OS: Windows [3.2] ) [3.3] 言語:C++ [4] 期限: 2010/2/2or3 [5] その他の制限: ライブラリは使わず。問題文のリンク先のプログラム(DIRECT)を組む。 よろしくお願いします。できれば解説を付けてくださると助かります。
407 名前:390 mailto:sage [2010/02/01(月) 18:25:32 ] >>395 C 言語というより UNIX/POSIX システムコールの問題でした。 パイプを pipe() で作成した後適切に処理しなければ、パイプが閉じたことにならず、EOF が検出できずに getchar()やread() がブロックされたのでした。 これは fcntl() で NONBLOCK 属性をつけてもうまくいきませんでした。 codepad.org/WiYTFttG
408 名前:395 mailto:sage [2010/02/01(月) 19:13:22 ] >>407 オレの言いたかったのはget_line()の方。 これじゃコマンドを入力するときのEOFを検出できないと言いたかったの。
409 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 19:26:11 ] [1] C言語演習 [2] int x[10]={-1,2,-3,4,-5,6,-7,8,-9,10} int y[10]={-5,-4,-3,-2,-1,1,2,3,4,5} が与えられている。 値x[0]*y[0]+2*x[1]*y[1]+3*x[2]*y[2]+4*x[3]*y[3]+5*x[4]*y[4]+6*x[5]*y[5] が最大/最小になるようにx,yの各要素を並べ替えたものを出力するプログラム [3] Windows XP/Borland C++ 5.0/C言語 [4] 2/18迄 [5] 特に無し
410 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 20:27:14 ] >>408 拙作のgetline() のほうでしたら、fgets() が NULL を返すのをみて、一行入力の終わりがきたことを検知できます。特に問題はありません。
411 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 20:36:37 ] >>410 EOF入力してみた?
412 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 20:37:07 ] >>409 6以降はどうすんの?
413 名前:410 mailto:sage [2010/02/01(月) 20:41:12 ] >>411 わざわざ Ctrl-Dを入力しなくとも、一行の終わりは検知できていますが、何か?
414 名前:409 mailto:sage [2010/02/01(月) 20:43:57 ] すみません。誤りがありましたので訂正させて下さい。 [1] C言語演習 [2] int x[10]={-1,2,-3,4,-5,6,-7,8,-9,10} int y[10]={-5,-4,-3,-2,-1,1,2,3,4,5} が与えられている。 値x[0]*y[0] - 2*x[1]*y[1]+3*x[2]*y[2]- 4*x[3]*y[3]+5*x[4]*y[4]-6*x[5]*y[5] +7*x[6]*y[6]-8*x[7}*y[7]+9*x[8]}*y[8]-10*x[9]*x[9] が最大/最小になるようにx,yの各要素を並べ替えたものを出力するプログラム 最大/最小になる時のx[],y[]とその値を出力すること [3] Windows XP/Borland C++ 5.0/C言語 [4] 2/18迄 [5] 特に無し
415 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 20:51:49 ] >>413 入力してみ。
416 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 21:05:14 ] >>415 特になにもおこりません。というか fgets() で一行入力できているのですが。 どんな振る舞いが発生して、どうおかしいのか教えていただけないでしょうか?
417 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 21:21:57 ] >>416 > > cannot found がずっとでたけど。 EOFになったら綺麗に終了したほうがいいよ。
418 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 21:34:01 ] [1] C言語プログラミング演習(大学専門課程選択教科期末課題) [2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10483.txt [3] [3-1] Windows Vista [3-2] Visual C++ 2005 [3-3] C/C++どちらでも可(なるべくC言語) [4] 2/11迄 [5]SQLがイマイチ理解できないので、指針だけでも よろしくお願いします
419 名前:デフォルトの名無しさん mailto:sage [2010/02/01(月) 21:36:53 ] >>417 なるほど、bash でも Ctrl-D できれいに終了しますね。 これは改良の余地がありました。アドバイスありがとうございます。 コード中のgetline() (とmain())を書き直しました。 codepad.org/5NsN385B
420 名前:デフォルトの名無しさん [2010/02/02(火) 00:56:53 ] [1] 授業単元:プログラミング実践 [2] 問題文 アフィン変換のプログラムを作成し、下の図の真ん中を座標の中心にして90°回転した結果を出力せよ。 (図)affin.txt 00000 00000 11111 00000 00000 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名: gcc [3.3] 言語:C++ [4] 期限:2010年2月4日まで [5] その他の制限:特にありません 色々試しましたが、うまくいきませんでした。 よろしくお願いします。
421 名前:409 mailto:sage [2010/02/02(火) 00:59:25 ] すみません。 >>414 の問題なんですがこちらの写し間違いみたいですので 結構です。取り敢えず今回はお願いを取り消させてください。 もういちど確かめてお願いするかもしれません。
422 名前:418 mailto:sage [2010/02/02(火) 14:40:57 ] >>418 の宿題のほう一部SQLが間違ったようですので 修正しました。まだ間違いがあるかもしれませんが。 注意事項も入れ忘れてましたので、いれました. 改めて依頼させて頂きます。 [1] C言語プログラミング演習(大学専門課程選択教科期末課題) [2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10484.txt [3] [3-1] Windows Vista [3-2] Visual C++ 2005 [3-3] C/C++どちらでも可(なるべくC言語) [4] 2/11迄 [5]SQLがイマイチ理解できてないので、指針だけでも よろしくお願いします
423 名前:デフォルトの名無しさん [2010/02/02(火) 15:56:42 ] [1] 授業単元:DirectX研究 [2] 問題文(含コード&リンク): サイコロを転がして目を決める。 ・テーブルとサイコロを作成する。 ・キー操作でサイコロを投げ下ろすように振る。 ・落下してきて,1つの目を上にして止まる。 ・何度でも遊べる ◎テーブルにサイコロの影がある ◎回転しながら落下してくる ◎自由な方向から見ることができる ◎テーブルの上でサイコロは跳ね,転がる。 ◎サイコロとして正しい [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2008 [3.3] 言語:C++ [4] 期限: 2月10日まで [5] よろしくお願いいたします。
424 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 16:51:53 ] >>420 どのように試したの? >>421 素朴だが10!x10!の組み合わせ最適化問題 この手には一般論は無いだろから、奇麗なCプロ グラム一つに纏めるという発想が頭にあると困難かと. (いろいろ「補助手段」を開発しているうちに 別の手段で偶然、解けてしまって目的自体が大 きく喪失してしまう危険性がこの手の問題に はつきまとう) てか宿題としてC言語限定というのは不適当 >>422 SQLをわかる奴は少ないとオモ
425 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 16:59:09 ] SQL文はわかるが、プログラムに組み込めといわれると・・・
426 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:06:40 ] >>422 RDBMSには何を使うの? コネクションを張ってSQL文を投げるのには何のライブラリ使うの?自作するの?
427 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:09:14 ] SQL文を組み込むんじゃなくて、SQLで書かれた 抽象的な処理仕様に基づいて実装しろってことじゃ? SQL鯖とかが出てなかった昔は結構この手の奴あった 常識的にこの手の奴ではテーブル配列自体は勝手に ソート出来なかったり項目を拡張してはならなかったり とか色々とウルサイし、処理速度向上の為に細かい 最適化が要求されてメンドイんで俺はパス
428 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:15:17 ] >>427 そういう意味か。それは面倒だ。
429 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:21:16 ] >>427 問題文の kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10484.txt 前半: 固定項で項目の拡張無しの配列 後半: 解釈1) 題中のSQL文を与えたとして得られるであろう結果 と 同じ結果が得られるような関数を実装せよ (→ 関数実装時 SQL構文を解釈する必要は全く無い。 同じ結果を求めるコードを直接記述してね) 解釈2) 題中のSQL文を渡して結果が得られるような 関数を実装せよ (→ 関数実装時 SQL構文を解釈する必要が出てくる) ((題中に出てこない SQL文に関してはスルーの方向で)) こう読み取れるっぽいけど… …俺 SQL文わからんのでパス
430 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:40:19 ] >>429 どこの大学か知らんが、宿題として汎用SQLパーサーを 作れって奴出す教師も、それを真に受ける奴もちょっと って感じ。 てか市販のRDBMSのSQLパーサーの性能は相当に 高くなってきてるけど、ちょっと大きなデータ+複雑なSQLに なると手動で作ったCPG+CSVデータにパフォーマンスで 大敗することも多い。 酷いSQLだったり酷い構造のテーブルが多いってことも 多いけど
431 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:57:49 ] >>429 とても動きそうにないコードだけど、これは 解釈1)の方だね。 pc12.2ch.net/test/read.cgi/tech/1261443439/569
432 名前:429 mailto:sage [2010/02/02(火) 18:09:32 ] >>430 俺はそこらへんの事情を全く知らないんで勘弁して。 問題文の意図が分からなかったんで >>429 と…
433 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 19:50:16 ] あんだけgroup byがネストしてたらやる気失う。
434 名前:429 mailto:sage [2010/02/03(水) 00:28:45 ] >>431 とりあえずありがとうございます。 がprologではなくあくまでもCの宿題なので、 参考のみにさせて頂きます。 ちなみにそのスレに私は書き込んでいません。 もし誰かが転記したのをやって頂いてここに貼りなおして 下さったというのであれば結果的に相当無駄なお手数を おかけしたことになります。 構造体をほぼSQLのまま定義しその構造体の配列にデータ が詰め込まれた状態でlist関数が呼び出されるという前提で、 SQLが記述しているセレクト処理で得られるレコードを そのままコンソール出力すれば良いと 同輩が言ってたのですがやっぱり皆様が御指摘の 通りめんどうなコードになるんでしょうか? (ちなみにSQL自体が何をする処理なのか 今ひとつつかめてません。おわかりの方が いらしゃいましたら教えて頂けると嬉しいです) DB板というのがあるそうでそちらのほうでも 聞いてみます。
435 名前:デフォルトの名無しさん [2010/02/03(水) 00:29:10 ] どなたか317を作ってもらえませんか? 私の力では手におえません。。。
436 名前:418 mailto:sage [2010/02/03(水) 00:30:16 ] レス番号のほう間違えました。 >>418 =>>422 =>>434 でした。
437 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:42:08 ] 配列 int out[3]={1,5,3}; の配列の各要素の大小関係を比べるプログラムをfor文で作りたんですけど どうすればいいですか?
438 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:42:52 ] 質問は「俺に聞け」スレで
439 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:49:00 ] >>434 >>431 じゃないけどSQLは多少わかる 「テーブルSEISEKIHYOUから、 より人数が多いクラスの5科目平均点 以上の5科目成績の生徒で、より人数が 多いクラスの国語平均点の最高よりは 下の国語成績で、数学が最も成績が 高かった生徒について、その担当教師 と氏名、数学成績、国語成績を リストする。」
440 名前:デフォルトの名無しさん [2010/02/03(水) 00:58:45 ] 420のものです。 ファイル読み込みまではいけたのですが、回転はさっぱりでした。 ご教授ねがいます。
441 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 01:09:31 ] >>440 公式を当てがうだけのつまらない問題だね 出来ないのは言語によるものじゃなくて アフィン変換がどういうものか分かってないだけ。
442 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 01:13:22 ] 00000 00000 11111 00000 00000 を90度 回転させると 00100 00100 00100 00100 00100 これじゃ駄目?
443 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 01:14:55 ] >>435 書こうと思ったけどエラー処理がめんどくさいんだよな
444 名前:デフォルトの名無しさん [2010/02/03(水) 17:13:38 ] >>442 まさにその通りなんですが、それをプログラムでかくことができなかったです・・・
445 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 18:28:27 ] 自分用のメモ >>317