1 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 06:27:59 ] あなたが解けない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++の宿題片付けます 136代目 pc12.2ch.net/test/read.cgi/tech/1274827528/
331 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 17:26:05 ] [1] 授業単元:一般情報処理 [2] 問題文(含コード&リンク):次のような動作をするプログラムを作成せよ。 配列内のデータの最小値を返す。int min() 配列内のデータの最大値を返す。int max() 配列内のデータの平均値を返す。double mean() 配列内のデータの標準偏差を返す。double stdev() ただしmain関数は次のものを使うこと。 int main(void){ int a[15]={81,36,45,67,73,98,62,56,77,61,65,70,25,51,18}; printf("min=%d\n",min(15,a)); printf("max=%d\n",max(15,a)); printf("average=%lf\n",mean(15,a)); printf("standard deviation=%lf\n",stdev(15,a)); return 0; } さらに、配列a[]の各要素の偏差値を表示するプログラムを作成せよ [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名:gcc [3.3] 言語:C [4] 期限:[2010年06月30日18:30まで] [5] 文章中の示された関数・main関数を使ってください よろしくお願いしますm(_ _)m
332 名前:デフォルトの名無しさん [2010/06/29(火) 18:18:32 ] >>226 です。 >>227 を作って頂いたのですが、main関数の部分も含め、プログラム全体を作って頂きたいです。
333 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 18:34:36 ] >>331 codepad.org/hXydfZTX
334 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 18:53:33 ] [1] 授業単元:画像処理 [2] 問題文(含コード&リンク):16×16サイズの白黒ビットマップ画像を読み込んで、 上下反転させた画像をビットマップで保存するプログラムを作成。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: [無期限] [5] その他の制限: ビットマップのファイル構造は少し勉強しました。 画像のデータを取り込むところと処理を行う部分がよくわかりません。 RGB値、malloc、Loadbmp等わかりやすく載ってるHPや本があれば教えてください。 よろしくお願いします。 試しに書いてみた上下反転プログラム → codepad.org/4iL9agVw 反転させたい画像を作ったプログラム → codepad.org/8z8MCdZG
335 名前:デフォルトの名無しさん [2010/06/29(火) 21:00:18 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク):ファイルに保存された会員情報を指定された項目をキーとしてソートするプログラムを作成する. 出力形式は,入力データと同じ,つまり1行に1人分のデータを格納し,各項目間はカンマで区切るものとする. また,ソート済みのデータはファイルではなく標準出力に出力するものとする. 整数型のデータについては数値として,文字列型のデータについては大文字/小文字を区別せずにソートをすること. ソートアルゴリズムはこれまでの演習で使用したもの,していないものに関わらず,何を用いてもよい. また,会員数は最大で20,000人と仮定してもよい. 会員情報の入ったファイルのファイル名,キーとなる項目,正順か逆順かの指定はプログラム実行時の引数として与える.第一引数が会員情報の入ったファイル名,第二引数が項目番号(表1参照),第三引数がソート方法(0なら昇順,1なら降順)とする. 表1: データ型 項目名 項目番号 型 会員ID 1 整数(int) 姓 2 文字列(最大で50文字) 名 3 文字列(最大で50文字) 年齢 4 整数(int) 州 5 文字列(最大で50文字) 郡 6 文字列(最大で50文字) [3] 環境 [3.1] OS: UNIX [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2010年6月30日20:00まで [5] その他の制限: 特になし よろしくお願いします。
336 名前:デフォルトの名無しさん [2010/06/29(火) 21:25:33 ] >>291 >>292 ありがとうございました。 返事送れて申し訳ありません。 書き込んでから20分とはおどろきました
337 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 21:44:13 ] >>302 ありがとうございます!
338 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 21:46:47 ] >>317 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10762.txt
339 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 22:55:19 ] >>335 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10763.txt
340 名前:デフォルトの名無しさん mailto:sage [2010/06/29(火) 23:39:54 ] [1] 授業単元: プログラミング開発基礎 [2] 問題文 複数ありますのでこちらで kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10764.txt [3] 環境 [3.1] OS:(Windows [3.2] VC 6.0 [3.3] 言語:C [4] 期限:なし [5] 制限:なし 問題数が多くて恐縮なのですがなにとぞよろしくお願いします
341 名前:デフォルトの名無しさん [2010/06/29(火) 23:56:51 ] >>339 ありがとうございます!
342 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 00:18:49 ] >>340 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10766.txt
343 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 00:29:31 ] >>326 テンプレ嫁
344 名前:デフォルトの名無しさん [2010/06/30(水) 01:09:50 ] >>335 ピキーーーン・・・麻呂のク(ry
345 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 02:44:25 ] >>342 ありがとうございますこれでどうどうと学校にいけます
346 名前:331 mailto:sage [2010/06/30(水) 08:20:03 ] >>333 ありがとうございます。 ただ、コンパイルしてみたところ /tmp/ccSDhYV6.o: In function `stdev': test.c:(.text+0x18a): undefined reference to `sqrt' collect2: ld returned 1 exit status このようにエラーがでてしまうのですがどうすればコンパイルできるでしょうか?
347 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 09:03:08 ] -lm
348 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 10:48:45 ] >>346 次回からは、undefined reference to `sqrt' でGoogle検索するとかして、自分で調べてくれ。 対策は、コンパイル時に -lm オプションを付ける。 例:gcc -lm test.c
349 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 11:11:24 ] >>346 もう一度言うぞ。 対策は、コンパイル時に -lm オプションを付ける。 わかったな。
350 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 12:19:22 ] こういうときどういう反応したらいいのだろうか とりあえず、笑えばいいのかな
351 名前:デフォルトの名無しさん [2010/06/30(水) 14:36:15 ] >>350 最近、IDなしのスレに粘着してるなりすましのかまってちゃんが居るから、本人とは限らない。 「俺が348だ、349は偽物だ」と言っても確認出来ないからね。 という訳で、不快に思ったらスルーが一番。
352 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 16:17:43 ] そうすることにするよ
353 名前:335 [2010/06/30(水) 16:32:15 ] 何度もすみません。 せっかく解いていただいたのですが、「昇順か降順でしかソートできない」として、もう一度お願い致します。
354 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 18:16:33 ] >>325 >>1 環境によってはとけるかもしれません。(最近apiを勉強しているところでして) テンプレートを書くときには条件をもっと詳しく書いてください。 ・描画範囲の意味がよくわかりません。±40, ±60 ということですか? ・y = ax^2 を平行移動したものを描画すればいいのでしょうか? ・(x, y) = (160, 120) というのは頂点なんですか? 以上よろしくお願いいたします。
355 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 18:33:45 ] >>354 mixiに似たような質問あったけど(既に削除済み) 背景が真黒のbmpに白で線を書き込みたいようだよ。
356 名前:346 mailto:sage [2010/06/30(水) 18:48:06 ] 本当にすみませんでした; 回答してくださった方、ありがとうございます 無事にコンパイルできました
357 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 19:55:42 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10767.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visua lstadio [3.3] 言語:C [4] 期限:2010年7月1日 よろしくお願いします
358 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 20:27:38 ] >>357 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10769.txt
359 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 20:56:55 ] >>358 すいません、こちらの環境(Microsoft Visual Studio 2008)ではエラーが2つ出て動きませんでした。
360 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 21:12:49 ] >>353 もともと昇順か降順かしかないんじゃ? コードもascとdescしかないように見えるし。 どこが気に入らないのか具体的に
361 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 21:13:19 ] >358, 359 確保したら開放ぐらいきちんと書けとも思ったがまぁいいや C言語としてコンパイルすればエラーはでない VS2008のclは使ったことないので、どんなスイッチ指定すればいいか知らないが、原因はC++ではvoid *から他のポインタへの暗黙の型変換がされないから C++のソースコードとしてコンパイルしたければ、malloc()の戻り値を適当にキャストすれば良い
362 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 21:13:32 ] >>359 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10770.txt これでどうですか? VisualStudio使ったことないもので、すいません。
363 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 21:13:53 ] >>359 エラーの内容はなんとなく予想できるけど、コンパイルの仕方が悪い。 具体的には/Tcスイッチをつけるといいと思う
364 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 21:21:01 ] >>358 >>361 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10771.txt
365 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 21:36:58 ] >>364 49行目、と思わんでもないけど別にいいや、としたいところだけど 学生はしっかりやっておいた方がいいのかもな、とも。。。
366 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 22:05:33 ] [1] 授業単元:Cプログラミング演習 [2] 問題文(含コード&リンク): 登録番号 (int no) と名前 (char *name) と年齢 (int age) を含む構造体 person 型のポインタ変数を宣言し、登録人数分だけの動的メモリ確保をせよ。そして、データをファイルから入力せよ。 ファイルの形式は、先頭に登録する人物とし、そのあとに人数分のデータを登録番号、名前、年齢の順に書いていく(下の例を参照。登録番号は入力順に1,2,3,4,5,・・・とする。そして、入力した全員データを表示せよ。) (ファイルの例) 3 1 田中 20 2 大田 40 3 井上 35 [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語:C [4] 期限:2010年7月2日まで [5] その他の制限:無し よろしくお願いします
367 名前:デフォルトの名無しさん mailto:sage [2010/06/30(水) 22:42:19 ] >>366 >>357 といっしょ
368 名前: ◆QZaw55cn4c mailto:sage [2010/06/30(水) 23:23:11 ] >>344 fgetc() の戻り値は int 型であることを、そろそろ理解していただきたいのですが。 どうですか?成長しましたか?
369 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 01:48:52 ] >>338 ありがとうございます
370 名前:デフォルトの名無しさん [2010/07/01(木) 06:24:44 ] >>368 麻呂じゃないが、勘違いしたのはお前だろ?しつこいぞw 麻呂の偽者との区別もつかず、いつまでも相手が勘違いしたと思い込んでろ。 自分が勘違いしてた癖にw 資料をきちっと読めよ、青二才。 あと、お前の言っている事は本当に意味不明。
371 名前:デフォルトの名無しさん [2010/07/01(木) 06:25:39 ] >>368 そ・れ・か・ら、getchar() と EOF について理解できましたか? どうですか?成長しましたか?
372 名前:デフォルトの名無しさん [2010/07/01(木) 06:28:28 ] >>368 ttp://www.bohyoh.com/CandCPP/C/Library/getchar.html > int getchar(void); getchar() の戻り値は int 型であることを、そろそろ理解していただきたいのですが。 どうですか?成長しましたか?
373 名前:デフォルトの名無しさん [2010/07/01(木) 06:32:27 ] >>368 EOF がマクロで定義されているであることを、そろそろ理解していただきたいのですが。 どうですか?成長しましたか?
374 名前:デフォルトの名無しさん [2010/07/01(木) 06:39:34 ] >>368 あぁ、あなた、結局ここで質問された課題に答えられず麻呂に負けたヘタレですか?w いつまでも根に持つ陰険。お前の人生はクソだなw 一生こんなスレでネット弁慶をやってろ。お前が見ず知らずの人間に偉そうな態度で 上から目線で優越感を感じられるのは、せいぜいこのスレだけなんだろ?実に寂しい人生だ。 【話題】2ちゃんねる・ネット弁慶には困ったものだ 自らが叩きやすそうな対象を見つけたとたん、ムキになっ tsushima.2ch.net/test/read.cgi/newsplus/1277889771/ ↑まさにお前のことだなw それも自分の勘違いだと気づかずに、揚げ足取りをしたつもりのバカ
375 名前:デフォルトの名無しさん [2010/07/01(木) 06:41:27 ] >>368 戻り値がどうしたって?リストの課題で麻呂のクソースは付き物。 しかし、今回は提示される事はなかった。それが何を意味しているか分かるか? 麻呂はもう居ないってことだ。俺は何となく麻呂のクソースが出るか扇動してみたが 出なかったしw
376 名前:デフォルトの名無しさん [2010/07/01(木) 06:42:01 ] >>368 お前のおつむは成長していないようだなw 精神レベルもw
377 名前:デフォルトの名無しさん [2010/07/01(木) 06:45:23 ] >>368 そろそろお前が痛いって気づけよ
378 名前:デフォルトの名無しさん [2010/07/01(木) 06:46:19 ] >>368 悔しかったらお前オリジナルのリストのソースを書いて公表しろよ 他人のパクリしか出来ないコピーキャット
379 名前:デフォルトの名無しさん [2010/07/01(木) 06:48:06 ] >>368 ん〜〜、みっともない。このスレに何しに来てんの?分かりきった答えの問題を 解き続けるだけがお前の人生?このスレから離れて自分の人生を見つめ直したら? どうせいつかは死ぬ限り有る時間を生きている人生だぞ? こんな場所で揉めるのに使った時間も、過去のものとなるがそれが未来に役に立つ 有意義な時間になるとは思えないね。
380 名前:デフォルトの名無しさん [2010/07/01(木) 06:50:01 ] >>368 戻り値が重要ではないとは言わないが、いきなりそんなことを書くお前は何者だ? 麻呂がいつそんなことを言ったか、ログを参照してくれ。それが麻呂だという証拠も付けてな。 こんなIDも出ない、本人がトリップを使ってない騙りが可能な場所で、見えない敵と 戦い続ける恥ずかしい戦士めw
381 名前:デフォルトの名無しさん [2010/07/01(木) 06:56:00 ] >>368 > そろそろ理解していただきたいのですが。 相手を茶化すにしても痛すぎ。そんな態度だから周りから干されて孤立したんだろ。 言動が陰険過ぎ。いつまでも理解していないみたいな勘違いとか、粘着していることも含めて 人間として終わってる。
382 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 06:59:49 ] 368は人気者?
383 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 07:02:14 ] >>382 この間隔で書き込まれているのを見ていると、 一人で騒いでいるだけのようにしか見えない
384 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 07:25:34 ] あいかわらずですね。
385 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 07:37:16 ] 見えない敵と戦っているんだろう プログラマなら魔法で戦えよ
386 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 07:47:46 ] >>383 一度に多数の人間が同時に書き込んだ、というのを演出したいらしい。
387 名前:デフォルトの名無しさん [2010/07/01(木) 12:11:13 ] vectorをリファレンス引数で扱う意味を教えてください
388 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 12:53:33 ] >>387 コピーするコストがもったいないから コピーだと中身に変更を加えても呼び出し元に影響を与えられないから
389 名前:デフォルトの名無しさん [2010/07/01(木) 12:59:28 ] >>388 つまり、コピーだとその後代入などの手間がかかるため リファレンス引数で扱い、その手間を省くということですね ありがとうございます。
390 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 14:36:20 ] [1] 授業単元: プログラミング言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10772.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Vc [3.3] 言語: C++ [4] 期限:2010年07月10日まで [5] その他の制限:なし
391 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 14:50:54 ] >>383 その感覚じゃ連続投稿に引っかかることくらい、ここの住人なら知っているだろう。 バイバイさるさんにも引っかかる可能性はある。
392 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 18:39:51 ] >>391 抜け道はいくらでもある。
393 名前:デフォルトの名無しさん mailto:void main() (笑) [2010/07/01(木) 21:27:49 ] >>390 void main (笑)
394 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 21:29:53 ] >>389 コンストラクタ・デストラクタのコストを避けるのが主目的。
395 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 21:32:19 ] >>379 なに、ほんの手遊びですよ。ちょろちょろっと書いてみるのもまた楽しいものです。
396 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 21:35:24 ] >>378 つ>>250 オリジナルの多桁演算ライブラリです。いつのまにか乗算・除算もできてしまいました。 効率は悪いのですが、それでもわりに重宝しています。
397 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 21:44:08 ] トリップ付けずに代弁するとか、大人しくトイレで大便しといれw
398 名前:デフォルトの名無しさん [2010/07/01(木) 21:53:17 ] >>396 横レスで失礼。除算をどうやったのか興味があります。
399 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 21:59:57 ] >>398 2進法での除算そのものです。ちょっとググってみたところでは homepage2.nifty.com/ttoyoshima/Computer/Multiply.htm など。 多桁数を1bit ずつシフトさせながら引き算できるときは引き算をする、という感じです、言葉にすれば。 >>250 も、折をみて、剰余を出力させるように改良しなくては。
400 名前:デフォルトの名無しさん [2010/07/01(木) 22:25:54 ] >>399 なるほど。繰り返しで処理出来るからハードウェア化も可能、というのが理解出来ました。 有難う御座います。
401 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 22:39:01 ] >>400 手近な環境でマシン語を習得し、割り算を実装することができれば、そのマシン語は卒業したといってもいいと思います。 x86 がいいでしょうが、casl でもできます。
402 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 22:54:25 ] >>401 CASLには虎馬が...ww
403 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 23:05:13 ] >>390 の前半 // ◎ソースコード #include <stdio.h> #define N 10 #define ID "/0000/" #define NAME "/やまだ/" static int fib(int n) { int r; if (n <= 2) r = 1; else r = fib(n - 1) + fib(n - 2); return r; } //----------------------------------------------------- int main(void) { int i; printf("%s %s\n\n", ID, NAME); for (i = 1; i <= N; i++) { printf("F%2d = %7d\n", i, fib(i)); } return 0; }
404 名前:デフォルトの名無しさん mailto:sage [2010/07/01(木) 23:09:06 ] >>403 ついでに改造版。 #include <stdio.h> #define N 40 #define ID "/0000/" #define NAME "/やまだ/" #define fib(n) fib2(n,1,1) static int fib2(int n, int a, int b) { return (n <= 2) ? b : fib2(n - 1, b, a + b); } //----------------------------------------------------- int main(void) { int i; printf("%s %s\n\n", ID, NAME); for (i = 1; i <= N; i++) { printf("F%2d = %7d\n", i, fib(i)); } return 0; }
405 名前:デフォルトの名無しさん [2010/07/01(木) 23:15:15 ] 摂氏から華氏,及び華氏から摂氏に換算する関数を作成して、 main関数でキーボードから温度とその値が摂氏であるか華氏であるかを 入力し,摂氏ならば華氏に,華氏ならば摂氏に換算した値を小数点以下1桁までで出力するプログラムを作成しなさい。 なお出力は main関数で行うこと。
406 名前:デフォルトの名無しさん [2010/07/01(木) 23:29:03 ] #include <stdio.h> float power(float x,float y) { float ans; char i; ans=0; if((char)y='C'){ ans=9/5 * x + 32; y='摂氏'; i='華氏'; }else{ ans=5/9 * (x - 32) ; y='華氏'; i='摂氏'; } return ans; }
407 名前:デフォルトの名無しさん [2010/07/01(木) 23:29:54 ] int main(void) { float a; char b,i; a=0; printf("温度を入力してください: "); scanf("%f", &a); printf("%d度が「摂氏」なら 'C' を「華氏」なら'F' を入力してください: ",(int)a); scanf("%s", &b); printf("\n"); printf("%c %8.3f = %c %8.3f\n",b, a, i, CelsiusFahrenheit(a, b)); return 0; } ここまでできたんですが、出力がうまくいきません。 誰か教えてください。
408 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 00:20:43 ] >>405 #include <stdio.h> float CelsiusFahrenheit(float a, char *b) { return (*b == 'C') ? (a - 32) * 5 / 9 : a * 9 / 5 + 32;} int main(void){ float a = 0; char b[2]; printf("温度を入力してください: "); scanf("%f", &a); printf("%g度が「摂氏」なら 'C' を「華氏」なら'F' を入力してください: ", a); scanf("%s", b); b[1] = (*b == 'C') ? 'F' : 'C'; printf("%5.1f °%c = %5.1f °%c\n", a, b[0], CelsiusFahrenheit(a, b), b[1]); return 0; }
409 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 02:19:37 ] [1] 授業単元:プログラミングC [2] 問題文(含コード&リンク): 極座標(r,θ)の値を入力すると、直交座標(x,y)に変換するプログラムを作成せよ。 但し,θの値はdegree(度)で入力すること。また、πの値は逆三角関数(arctan(x))を使って計算をすること。 [3] 環境 [3.1] OS:WinodwsVista [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:7/5(月)迄 [5] その他の制限:特になし よろしくお願いします
410 名前:デフォルトの名無しさん [2010/07/02(金) 02:42:39 ] [1] 授業単元:アルゴリズム論 [2] 問題文(含コード&リンク):分離連作法と外部ハッシュ法の性能比較 [3] 環境 [3.1] OS:windows XP [3.2] gcc [3.3] 言語:C++ [4] 期限:2010年7月10日00:00 [5] その他の制限: 特になし
411 名前: ◆QZaw55cn4c mailto:sage [2010/07/02(金) 05:55:41 ] >>409 codepad.org/Md5TRgzM
412 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 07:22:59 ] >>403 ありがとうございます よろしければ演習2のほうもお願いします・・・
413 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 12:17:45 ] >>411 ありがとうございます!
414 名前:デフォルトの名無しさん [2010/07/02(金) 12:56:28 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):switch 文を使用して 1. データファイルの新規作成 2. データファイルの追加作成 3. データファイルの読み込みと表示 4. 終了 をメニュー形式で処理するプログラムを作成せよ。 ・ ファイル名はキーボードから入力する。 ・ 1〜4の処理はユーザ関数として定義すること。 void data_write(void) void data_append(void) void data_read(void) void the_end(void) ・1〜4以外の数値が入力されたら再入力させること。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:cc [3.3] 言語:C言語 [4] 期限:7月5日
415 名前:デフォルトの名無しさん [2010/07/02(金) 17:27:31 ] もう麻呂のク(ryで十分じゃんw
416 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 18:26:04 ] >>415 コードを出したり引っ込めたりしなければね。
417 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 19:01:48 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク): 正の整数を引数とし、その階乗(n!)を計算して戻り値とする関数 factを作成して動作を確認せよ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月5日 よろしくお願いします。
418 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 19:04:56 ] >>417 >>211 , >>250 , >>306 あたりを参考にしてはいかが?
419 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 19:43:49 ] >>417 codepad.org/vNVYL56R
420 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 20:35:07 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク): 実数値(xとする)と正の実数値(yとする)を引数としてx^yを戻り値とする 関数mypowを作成し、プログラムリストと実行結果を示せ。 ただし、xとyについてはmain関数でキーボードから入力するようにし、 出力結果としては、mypow関数の計算結果と数学関数pow関数の結果を 両方表示するようにせよ。また、mypow関数のプロトタイプ宣言も行うこと。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月5日 よろしくお願いします。
421 名前:デフォルトの名無しさん [2010/07/02(金) 20:35:15 ] [1] 授業単元: プログラム言語 [2] 問題文(含コード&リンク): 10 人の成績を入力し,その順位を成績と共に表示したい。以下の考え方に基づいた プログラムを作成せよ。 1 ? 2次元配列s[10][2] を用意する。 2 ? i=0〜9 のfor 文を用いてs[i][0] に成績を入力する。 3 ? s[0][0] とs[j][0],j=0〜9 を比較し,s[0][0] より大きい数値の個数n を数え る。その個数+1 が成績順位になるので,s[0][1] にn+1 を代入する。 4 ? 同様の操作をs[i][0],i=0〜9 に対して行なえば,その成績順位がs[i][1] とし て求められるので,あとは成績と共に表示すればよい。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:VC 6.0 [3.3] 言語: C++ [4] 期限: 2010年7月6日まで [5] その他の制限: main関数 よろしくお願いします
422 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 20:39:26 ] >>419 ありがとうございます!
423 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 21:27:52 ] >>408 遅れてすいません。ありがとうございます!
424 名前:デフォルトの名無しさん [2010/07/02(金) 21:44:46 ] >>416 しつけぇw
425 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 22:02:53 ] >>423 ですが、何度もすいません。 >>408 を 80度が「摂氏」なら "C" を「華氏」なら "F" を入力してください: F 日本基準 80.0 度 = 欧米基準 176.0 度 と出力できるようにはできませんか?
426 名前: ◆QZaw55cn4c mailto:sage [2010/07/02(金) 22:47:29 ] >>420 codepad.org/7QLze0b2 もっとまじめにmypow()を定義しなければならないのでしたら、その旨ご返事ください。考え直します。
427 名前: ◆QZaw55cn4c mailto:sage [2010/07/02(金) 23:06:15 ] >>421 codepad.org/BowfSESU VC6 でコンパイルできなかったらごめんなさい。
428 名前:デフォルトの名無しさん mailto:sage [2010/07/02(金) 23:47:19 ] >>424 質問でも宿題でもないのにあげている、という点で同一人間っぽいですね。 いわゆる自意識過剰ってやつですか。もっと大人になりましょうね。
429 名前: ◆QZaw55cn4c mailto:sage [2010/07/03(土) 00:49:16 ] >>390 codepad.org/dxhtULqH
430 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 00:56:52 ] >>425 計算違いがありましたので修正しました。 #include <stdio.h> #define c1(c) (c=='C')?"日本基準":"欧米基準" float CelsiusFahrenheit(float a, char *b) { return (*b == 'F') ? (a - 32) * 5 / 9 : a * 9 / 5 + 32;} int main(void) { float a = 0; char b[1]; printf("温度を入力してください: "); scanf("%f", &a); printf("%g度が「摂氏」なら 'C' を「華氏」なら'F' を入力してください: ", a); scanf("%s", b); printf("%s %5.1f 度 = %s %5.1f 度\n", c1(*b), a, c1('C' + 'F' - *b), CelsiusFahrenheit(a, b)); return 0; }
431 名前:デフォルトの名無しさん [2010/07/03(土) 06:36:17 ] >>428 し・つ・こ・い。このスレに何しに来てんの?基地外。自分のレスを読み返せ。 浮いてるぞ
432 名前:デフォルトの名無しさん [2010/07/03(土) 06:43:38 ] >>428 > いわゆる自意識過剰ってやつですか。もっと大人になりましょうね。 自己紹介しているし、このバカw お前の揚げ足取り、反論はどれも論点がズレている。もう少し自分の方が 勘違いをしてコミュ力がないと気づけよ、お子ちゃま。 で、fgetc()の戻り値なんて今更持ち出す池沼乙w
433 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 06:45:57 ] >>234 よろしければお願いします
434 名前:バカ晒しage [2010/07/03(土) 06:48:26 ] ageているからという理由で勘違いしているなら ピエロのお前を晒し続けてやるよw お前がこのスレに無関係な話を延々と見えない敵に噛み付いて し始めているからきめぇつってんだよ。スレタイ読めや、文盲かてめぇは?
435 名前:いつまでもおつむは成長しないお子ちゃま [2010/07/03(土) 06:49:18 ] 368 名前: ◆QZaw55cn4c 投稿日:2010/06/30(水) 23:23:11 >>344 fgetc() の戻り値は int 型であることを、そろそろ理解していただきたいのですが。 どうですか?成長しましたか?
436 名前:見えない敵に噛み付く自分こそ自意識過剰のスレチバカ [2010/07/03(土) 06:50:06 ] 428 名前:デフォルトの名無しさん 投稿日:2010/07/02(金) 23:47:19 >>424 質問でも宿題でもないのにあげている、という点で同一人間っぽいですね。 いわゆる自意識過剰ってやつですか。もっと大人になりましょうね。
437 名前:デフォルトの名無しさん [2010/07/03(土) 06:53:32 ] >>368 = >>428 EOF がマクロで定義されていることを、そろそろ理解していただきたいのですが。 どうですか?精神レベルとプログラミングの技能は成長しましたか? ttp://www.bohyoh.com/CandCPP/C/Library/getchar.html > int getchar(void); getchar() の戻り値は int 型であることを、そろそろ理解していただきたいのですが。 どうですか?成長しましたか?
438 名前:433=234 mailto:sage [2010/07/03(土) 07:10:46 ] ちなみに期限のほうですが、来週の月曜日にまで延長して貰えました
439 名前:デフォルトの名無しさん [2010/07/03(土) 07:18:56 ] このスレがどんなスレか、そろそろ理解していただきたいのですが? スレタイも>>1 も読めないアホ
440 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 12:50:16 ] 内容: [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10774.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:7/6まで [5] その他の制限:特になし 2問ありますがよろしくお願いします
441 名前:デフォルトの名無しさん [2010/07/03(土) 13:27:17 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): UNIXコマンドのgrep(指定したファイルを読み込み、指定した文字列とマッチする行を出力するコマンド)と同じ動作をするプログラムを実装しなさい。 ただし、オプションなどの副次的な機能はつけなくてもよい。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月5日まで [5] その他の制限:とくにありません。よろしくお願いします。
442 名前: ◆QZaw55cn4c mailto:sage [2010/07/03(土) 15:41:24 ] >>441 codepad.org/dQt9ehKW
443 名前:334 [2010/07/03(土) 17:20:02 ] codepad.org/gKSA4OIw コンパイルが上手く行ったので実行したらゴミができた タイミングよく救急車のサイレンがきこえてきた 死にたいw (gdb) run Starting program: /cygdrive/c/works/1/rev/rev [New thread 2376.0x258] [New thread 2376.0xbf0] 6 [main] rev 2376 exception::handle: Exception: STATUS_ACCESS_VIOLATION 3713 [main] rev 2376 open_stackdumpfile: Dumping stack trace to rev.exe.stack dump Program received signal SIGSEGV, Segmentation fault. 0x611203f8 in _fread_r () from /usr/bin/cygwin1.dll
444 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 17:26:03 ] >>443 画像開く前から画像の幅と高さがわかるとかどんなエスパーだよバカ
445 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 17:29:08 ] ワロタ
446 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:06:49 ] >>426 ありがとうございます。
447 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:44:18 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク): 例を修正し、double型の配列変数に格納されている値の 平均値を求める関数aveを作成せよ。また、aveもdouble型とする。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月5日
448 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:46:04 ] >>447 の例は以下の通りです。よろしくお願いします。 #include<stdio.h> #define N 10 int sum(int num[]) { int n, s=0; for (n=0;n<N;n++) s+=num[n]; return 0; } int main() { int aa[N], bb; /* 配列変数aaに値を代入 */ bb = sum(aa); printf(“sum=%d\n”,bb); return 0; }
449 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:06:46 ] >>447 #include<stdio.h> #define N 10 double sum(double num[]) { int n; double s=0.0; for (n=0;n<N;n++) s+=num[n]; return s; } int main() { int i; double aa[N], bb; /* 配列変数aaに値を代入 値は適当*/ for (i=0;i<N;i++) aa[i]=i*2.5; bb = sum(aa); printf("sum=%f\n", bb); return 0; }
450 名前: ◆GmgU93SCyE mailto:sage [2010/07/03(土) 20:08:55 ] >>447 #include <stdio.h> #define N 10 double ave( const double arr[] ) { int i; double total = 0; for ( i=0; i<N; ++i ) total += arr[i]; return total/N; } int main() { const double arr[N] = { 1.23, 9.87, 5.94, 0.157, 7.2, 1.23, 9.87, 5.94, 0.157, 7.2 }; printf( "average = %f", ave(arr) ); return 0; }
451 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:47:22 ] >>408 ありがとうございます!
452 名前:デフォルトの名無しさん [2010/07/03(土) 20:52:37 ] [1] c言語活用: [2] 例を改造して、ガウス関数に関する折れ線グラフにしなさい。 codepad.org/bsUmakKX [3] 環境 [3.1] OS : Linux [3.2] コンバイラ名 : gcc [3.3] 言語 : C [4] 期限: 7月 5日まで 例をガウス関数で定義するところまでは自力でできましたが、 グラフが点集合でしか表せません。 現在のX座標の点と隣のX座標の点を直線で結ぶために2組の座標の組 (x1, y1, disp_x1, disp_y1), (x2, y2, disp_x2, disp_y2) を用意するとうまくいくそうですが どうしてもわかりませんでした。 御助力お願いします。
453 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 21:42:14 ] >>452 handy.h とはなんでしょうか? あと、X Window ?
454 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 22:01:38 ] >>390 誰かコレの演習2お願いしますっ
455 名前: ◆QZaw55cn4c mailto:sage [2010/07/03(土) 22:35:14 ] >>390 >>454 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10777.txt >>431 宿題しにきていますが、なにか? >>432 べつに当たり前のことをいってるだけですけどね。でも、当時話題になったが fgetc() ではなくて getchar() マクロや EOF だっただなんて、よくご存知ですね。やっぱり当事者だったんですね。つれた、つれた。 >>434 そういいながらも sage で投稿できないところなんか、末期的としかいわざるを得ないでしょうね。一度 sage で投稿してごらんなさい? まあ一匹の自意識障害者をあぶりだすことができたようで、満足しています。
456 名前: ◆QZaw55cn4c mailto:sage [2010/07/04(日) 00:21:30 ] >>390 >>454 訂正します。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10779.txt
457 名前:デフォルトの名無しさん [2010/07/04(日) 00:31:44 ] [1] 授業単元:プログラム演習 [2] 問題文(含コード&リンク): 以下のプログラムに、下に示す二つの関数を実装し、組み込みなさい。 ファイル中に保存するデータはアスキー形式でも、バイナリ形式でもどちらでも構わないものとする。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10778.txt ・構造体Employee型のデータが順に保存されているファイルからデータを読み込む関数。 ・作成したデータをファイルに書き出す関数。 例えば、構造体Employeeを下に示すものと同じ定義にしたとする。 この構造体に従ったASCII形式のデータベースファイルを読み込み、社員の追加や、給与の変更をした後、同様なデータベースファイルとして保存できるようにしなさい(もちろん、バイナリ形式のファイルにしても構わない)。 [構造体Employeeの例] typedef struct { char name[16]; int age; int salary; } Employee; [データベースファイルの例] TANAKA 32 620 SUZUKI 25 500 CHIBA 35 650 NAKAMURA 50 1000 IIDA 45 800 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月5日まで [5] その他の制限:特にありません。よろしくお願いします。
458 名前:457 mailto:sage [2010/07/04(日) 00:43:11 ] >>459 ありがとうございます。
459 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:50:36 ] どういたしまして
460 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 01:02:03 ] >>456 ありがとうございます、助かりました
461 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 01:03:27 ] 1] 授業単元: プログラミング実験 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10780.zip [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: [3.3] 言語: C言語 [4] 期限: ([2010年07月05日22:00まで] [5] その他の制限: よろしくお願いします!
462 名前:デフォルトの名無しさん [2010/07/04(日) 01:03:42 ] >>455 精神障害者だろ、お前?いつまでも昔の(自分の勘違いのせいで起こった論争)を引き摺るとか。 気持ち悪い。このスレ、お前のオナニースレじゃないんだが?周りを見ろよ。 日頃、現実世界でまともに相手にされていないのがバレバレだぞ。
463 名前:デフォルトの名無しさん [2010/07/04(日) 01:05:26 ] >>1 > 気に入らない質問やその他の発言はスルーの方向で。 最初の1行も読めないとか、日本人かも疑わしいわ。 ageられているのはお前みたいなキモイ奴を晒しageされていると気づけよ。 このスレにsageルールはないけど?
464 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 01:15:35 ] ID希望
465 名前:精神障害者アスペ君の恥ずかしいレス [2010/07/04(日) 01:15:35 ] 368 名前: ◆QZaw55cn4c 投稿日:2010/06/30(水) 23:23:11 >>344 fgetc() の戻り値は int 型であることを、そろそろ理解していただきたいのですが。 どうですか?成長しましたか?
466 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 01:23:04 ] どなたか教えてください。ずっと考えてたけど、答えがわかりませんorz。 <標準関数>文字列と削除文字列を入力し、文字列中から削除文字列を削除しなさい。 ※配列の使用は2つだけ。 例) 文字列入力→ABCDEFAABCDABC 削除文字列→ABC 結果文字列→DEFAD どなたか教えてください、お願いします。
467 名前:デフォルトの名無しさん [2010/07/04(日) 01:35:50 ] IDが表示されない、だから相手が特定できないから自分にレスした奴を 虱潰しに煽る事で炙り出そうって魂胆だろ。一生見えない敵と戦うぞ、こいつw
468 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:00:45 ] >>467 今来産業の俺にもう少し分かりやすく
469 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:05:50 ] >>466 #include <stdio.h> #include <string.h> int main(void) { char source[] = "ABCDEFAABCDABC"; char target[] = "ABC"; size_t l = strlen(target); char *p; puts(source); puts(target); while (p = strstr(source, target)) { while (p[0] = p[l]) { p++; } } puts(source); return 0; }
470 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:06:11 ] 麻呂のクソースを超えるクソースは出てこない、間違いない
471 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:21:25 ] >>469 ※配列の使用は2つだけ。 って言われてるけど
472 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:35:20 ] >>471 はあ?確保してる配列は2つだけだろうが 脳みそヒヨコかよ
473 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 11:33:13 ] >>449 「ave」という文字がないのですがこれでいいんですかね?
474 名前:デフォルトの名無しさん [2010/07/04(日) 14:29:58 ] >>453 handy.h はHandyGraphic という グラフィックスライブラリを使うことを意味しています。 また学校のパソコンなのでわかりませんがおそらく X Windowかと思われます。いいかげんですみません。 明日提出なのでよろしければ、どなたかよろしくお願いします。
475 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 14:41:34 ] [1] 授業単元:プログラミング [2]問題文: ファイルseiseki.txt から氏名と点数を読み込んで、成績順に並べ替え、結果を画 面に表示するプログラムを作成せよ。 ・氏名は2次元配列、点数は1次元配列に格納する。 ・ データの並べ替えには単純挿入法、単純選択法またはバブルソートを使用する。 ・ 文字列 x[]と文字列y[]の入れ替えは、文字列操作関数strcpy を用いて行う。 strcpy(z,x); strcpy(x,y); strcpy(y,z); [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: ([2010年07月06日0:00まで] この問題が解ける方はいらっしゃいますでしょうか。
476 名前: ◆QZaw55cn4c mailto:sage [2010/07/04(日) 15:11:12 ] >>475 codepad.org/1E7wG9Fa >>463 >>1 を読めないのはおまえさんも同じ。私?いちおう宿題といてますけどね。 なによりこれだけの過剰反応を示していること自体が、つれた、つれた、と判断されてもしかたのないことでは? さらしあげ?専用ブラウザを使っている私にはなんのことだか。 >>467 それはおまえさんのことですがな。
477 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 15:21:19 ] >>469 よみにくいから段下げをつけてくれ
478 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 15:24:06 ] >>473 >>450
479 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 15:36:07 ] >>477 ついてるよ メモ帳にコピペしてみ
480 名前:デフォルトの名無しさん [2010/07/04(日) 15:41:04 ] >>457 もお願いします。
481 名前:デフォルトの名無しさん [2010/07/04(日) 16:04:42 ] [1] 授業単元:方程式の解 [2] 問題文(含コード&リンク):方程式exp(-x^2/2)=0.5の解を求める [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン:Cygwin [3.3] 言語:C [4] 期限:7/9 [5] その他の制限: double f(double x); int main(void){ double x,min_f,solution; min_f=1e100; for(x=0;x<=3;x+=dx){ printf("%e,%e\n",f,min_f); if(fabs(f(x))<min_f){ solution=x; min_f=fabs(f(x)); }} printf("f(%e)=%e\n",solution,min_f); return 0; } double f(double x){ double y; y=exp(-x*x/2)-0.5; return y; } と組んで実行できたんですが、なぜmin_fを最初に10^100とするのでしょうか? なんか私の感覚的には10^-100な気がするのですが・・・ この部分の解説お願いします。
482 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:20:47 ] >>479 確かにソースをみるとついてますな。
483 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:44:30 ] >>481 範囲をdx刻みで分割して、|f(x)|が最小となるxを求める。 min_fは暫定の最小。もしあるxで|f(x)|<min_fなら、min_fを更新する。 dxに対してmin_fを小さくしすぎると、|f(x)|<min_fなxがない可能性がある。
484 名前:デフォルトの名無しさん [2010/07/04(日) 20:06:11 ] >>476 うわっ、お前マジキモイ・・・そのままトリップを付けたまま書き込めよ。 必死に自分の不満、苛立ちを露にする長文を書くしバカ丸出しw
485 名前:デフォルトの名無しさん [2010/07/04(日) 20:06:54 ] >>476 > それはおまえさんのことですがな。 いや、お前のことだよ。第一、お前はトリップを付けているが お前にレスした奴が特定の一人とは限らないだろ?
486 名前:デフォルトの名無しさん [2010/07/04(日) 20:07:19 ] >>476 見えない敵と戦う必死な戦士、かっちょわりぃ〜w
487 名前:デフォルトの名無しさん [2010/07/04(日) 20:08:06 ] >>476 >>1 >あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。 読めませんか?相手をいちいち自分の勘違いで挑発するお前が一番幼稚
488 名前:デフォルトの名無しさん [2010/07/04(日) 20:08:28 ] >>476 日本語でおk
489 名前:デフォルトの名無しさん [2010/07/04(日) 20:09:12 ] >>476 自分はさっぱり分かりません、みたいなしらばっくれた書き込みをして 自分がした 勘違い を認めないとか、頭おかしいぞw 自覚が無いなら責任が問われる社会では通用しません。
490 名前:デフォルトの名無しさん [2010/07/04(日) 20:09:55 ] >>476 最後の1行がみっともないです ><; 早くこのスレから出て行くか、大人になって下さい ><; ねぇ、まだ社会に出て働いた事の無いお子ちゃまw
491 名前:デフォルトの名無しさん [2010/07/04(日) 20:10:37 ] >>476 やっぱりお前が>>1 の注意書きを読めてないじゃんw
492 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:11:40 ] >>476 そろそろ、自分の苛立ちを見えない敵にぶつけないで良いよ。 今後無駄なレスをしても、スルーされるだけだからw で、お前は俺を麻呂と思っているんだろ?麻呂があれから 騙りもあり、しばらく来ていなかったことも知らないとは・・・ そうやって見えない敵に噛み付いてなさいw
493 名前:デフォルトの名無しさん [2010/07/04(日) 20:14:39 ] >>476 の書き込み全てが恥ずかしい。このスレに何しに来てんですか? 他人にお前こそと言う前に、議論するスレは他にありますので、そちらでやって下さい。 トリップ付けてまでバカ晒すなよ、ガキw
494 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:16:42 ] >>493 お前はコテハンかトリップつけろクズ
495 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:28:46 ] >>469 解答ありがとうございます。もしよろしかったら、使用する標準関数は、strncmp(),strcpy(),strlen()で書いてもらえないでしょうか?
496 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:47:34 ] 少しも勉強しないんだな。それでいいのか若者
497 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 20:56:45 ] >>476 ありがとうございます。助かりました。
498 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 21:23:46 ] >>495 codepad.org/T48qu3kj
499 名前:481 [2010/07/04(日) 21:37:31 ] >>483 どうもありがとうございます。納得できました。 ifの条件文に引っかからなくなる直前のxがsolutionとなる、という認識で大丈夫ですか?
500 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 23:15:12 ] >>478 ありがとうございます。
501 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 23:29:02 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク): 次式の値を返す関数を作成せよ。 f(x)=e^{-x} cos(2πx) その関数を用いて0≦x≦3の間で0.1刻みで計算し、結果をリダイレクトで ファイルに記録せよ。その結果をgnuplotでグラフにして示せ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月6日 よろしくお願いします。
502 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 00:35:56 ] だれか>>440 お願いします。
503 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 04:14:21 ] >>440 【1】 (1) return ; (2) shift_down(heap, s, 2*s, n); 【2】 (2) swap(&heap[1], &heap[i]); (2) shift_down(heap, 1, 2, i-1); 酷いコードだ。 教育だからこそ、スマートなコードにしてくれることを切に願う。
504 名前:デフォルトの名無しさん [2010/07/05(月) 05:16:09 ] [1]授業単元:プログラミング演習 [2]問題文;離散探索木(26進)と外部ハッシュ法の比較(探索関数) キー: 文字列 使用ファイル: wordE100KR.dat 上記ファイルを読み込み、通常の配列に格納する。 この配列から要素を読み込み、分離連鎖法および離散探索木(26進)を生成する。 格納された要素と同一の要素集合すなわち、配列に格納された用語集合に対して、1万語毎に探索を行い、照合回数、および探索時間を測定する。 結果として、照合回数について20個のデータ(2×10)、同様に探索時間について20個のデータ(2×10)が得られる。 これらのデータをExcelに格納し、表、グラフを作成し、分析せよ。 [3]環境 [3.1]OS;windowsXP [3.2]コンパイラ名とバージョン:gcc [3.3] 言語:C/C++どちらでも可 [4]期限;7月8日 使用ファイルはrg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm にあります。 丸投げで申し訳ありません。よろしくお願いします。
505 名前:デフォルトの名無しさん [2010/07/05(月) 06:49:51 ] すみません、>>457 もお願いします。
506 名前:デフォルトの名無しさん [2010/07/05(月) 12:32:23 ] [1] 授業単元: C言語プログラミング [2] 問題文メモリや実行時間の許容範囲内の、最大完全数、最大友愛数、および最大婚約数を算出プログラムを作成 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Microsoft Visualstadio 2003 [3.3] C言語・C++ [4] 期限: ([2010年7月6日12:00まで よろしくお願いします。
507 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 16:52:56 ] >>461 おねがいします
508 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:01:57 ] >>507 zipはめんどくさいので放置。 できれば1レス、最低でもWEBだけで確認できる様に書きなおせ。
509 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:03:46 ] >>506 > 許容範囲内 とは誰が許容する範囲内なんだ。 具体的に書きなおせ。
510 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:50:36 ] 最大友愛数、最大婚約数…
511 名前: ◆QZaw55cn4c mailto:sage [2010/07/05(月) 18:29:52 ] >>501 codepad.org/GosjtHA7
512 名前:デフォルトの名無しさん mailto:age [2010/07/05(月) 20:24:06 ] >>507 問題文の 確率指定 p って何?>
513 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:28:32 ] あれだけISOの標準スタイルについて述べられていたのに未だに int main() 笑 の奴がいるとかw
514 名前: ◆QZaw55cn4c mailto:sage [2010/07/05(月) 20:28:45 ] >>457 >>505 codepad.org/7YlltRQG
515 名前: ◆QZaw55cn4c mailto:sage [2010/07/05(月) 20:34:19 ] >>513 pc12.2ch.net/test/read.cgi/tech/1269438098/101 で述べられ済み。 ISO/IEC 9899TC2 6.7.5.3 Function declarators (including prototypes) 14 An identifier list declares only the identifiers of the parameters of the function. An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters. とあり、関数の定義のときには、空のリストは no parameters である。 すなわち引数が void の場合と等価であり、int main() は int main(void) と同じ。
516 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:36:40 ] >>513 void main()でも別に構わんぞ コンパイル通ればいいんだよ
517 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:45:25 ] >>516 これには異論があり。 個人的には、int main() でコンパイルできる環境で、main() が引数をかえさない、という main() 側の都合で void main() と宣言するのには疑問がある。
518 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:51:48 ] ま〜たこの話題かw ちょっと前にもどっかのスレで泥沼化してただろう? だれか過去ログはっておやり。
519 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:53:34 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): 四則演算と平方根を求める事が出来る電卓プログラムを作成せよ. [3] 環境 [3.1] OS: Windows xp [3.2] コンパイラ名とバージョン:visual C++ 2008 [3.3] 言語: C++ [4] 期限: 2010年7月7日22:00頃まで [5] その他の制限: 数学関数等は利用不可,関数ライブラリは標準入出力ライブラリ stdio.h のみを利用可 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10781.txt math.h等の利用が出来ないため平方根はニュートン法により求めるプログラムを使用したいと思っています. URLに記載した二つのプログラムを組み合わせて上記の条件を満たすような電卓プログラムを作りたいのですが, 私なりに見よう見まねで組み合わせて見たのですが,知識が足りず平方根を求める動作が働きません. 根本的に間違っている可能性もありますが,どなたか修正点を教えて頂けると幸いです. よろしくお願いいたします.
520 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:55:25 ] あのな、isoだかなんだか知らんが、そんなもんただの標準だろ。 守らなきゃいけないルールじゃない。 単にコンパイラやソースが標準に沿っていますということを表明できるだけの意味しかないんだよ。 この世にはmainが存在しないプログラムをCで書くケースだって腐るほどあるし、 エントリ関数がWinMain()になっている世界で最も普及したコンパイラだってあるんだぞ。
521 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 20:58:04 ] >>518 このスレの先々代(135)、3月〜4月にかけて宿題が欠乏し宿題解き人が暇になったために泥沼化した。 結論としては、規格の上では void main() も int main() も合法だったかと。
522 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 21:01:57 ] >>521 情報トンクス! ていうかこのスレだったかw
523 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 21:30:58 ] [1] 授業単元: Visual Studio 入門 [2] 問題文 3問ほどあるのでリンクを kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10782.txt [3] 環境 [3.1] OS:Windowsvista [3.2] Microsoft Visual Studio 2008 [3.3] 言語:c言語 [4] 期限:なし [5] 制限:なし 問題が多いのですがひとつお助けください
524 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:14:53 ] >>523 gccでの確認になりますが。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10784.txt
525 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:23:17 ] x(1)、 x(2)、・・・とaは2000次元ベクトルとします。 N Σ || x(n)-a || / N || ・|| はノルム。 を高速に計算する方法わかりますか。
526 名前: ◆QZaw55cn4c mailto:sage [2010/07/05(月) 22:30:05 ] >>523 codepad.org/QpeyhPJI codepad.org/zWPlVycN codepad.org/ysQFpPnA
527 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:32:14 ] X=(x, y) Y=(z, w) A=(a ,b) とすると、 ||X-A|| + ||Y-A|| = SQRT( (x-a)^2 + (y-b)^2 ) + SQRT( (z-a)^2 + (w-b)^2 ) を高速で計算したいという訳なんです。 2000次元だと、かけ算とSQRTが相当あって時間掛かりますが。 短縮する方法ありますか。
528 名前:527 mailto:sage [2010/07/05(月) 22:35:42 ] 面倒なので、 ||X-A|| = |x-a| + |y-b| と定義してしまうか。 すると、 |x-a| + |y-b| + |z-a| + |w-b| を求めるだけで簡単。
529 名前: ◆QZaw55cn4c mailto:sage [2010/07/05(月) 23:23:14 ] >>519 codepad.org/LQ8UIyYT キー入力の具合はこれでいいですか?
530 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:24:23 ] ◆QZaw55cn4c はもりもりがんばってるなぁ。 定期的に叩かれるみたいだけどがんばれ。
531 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:29:13 ] やってることは怠け者の成績を上げてやることだけどなw
532 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:31:38 ] >>530 叩いてもらえる、というのは、コードをみてくださっている、というありがたい反応ですから、ウェルカムです。 ちょっと前の、あいかわらず頭の変な奴にかかわってしまったのは失敗ですが、スルーすることにしました。 でも今日はおやすみなさいです。
533 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:51:43 ] >>532 じゃあたまにのぞいて気になるとこあったらレスすることにするよ。 っても地力ぼちぼちありそうに見えるんで、重箱の隅ぐらいしか突っ込めないかも。
534 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:53:45 ] [1] 授業単元: Visual Studio 入門 [2] 問題 半乱順列の関数作成 [3] 環境 指定なし [3.1] OS:Windowsvista [3.3] 言語:c言語 [4] 期限:なし [5] 制限:なし 半乱順列の関数を作ってください!お願いします!!
535 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 23:54:08 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク):data.txtに書かれている氏名と成績を読み込み、氏名を2次元配列、成績を1次元配列に格納せよ。 [3] 環境 [3.1] OS:Ubuntu 10.4 [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限:7/7まで [5] その他の制限: data.txtの中身は aoyama 36 oomura 42 sugiyama 50 morita 14 となっております。
536 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 00:06:46 ] >>535 >>476 は読み込んだあとソートしていますが、そのソート部分を削ればご所望のコードになるかと。
537 名前:535 mailto:sage [2010/07/06(火) 00:18:01 ] >>536 似た問題があったのですね。ありがとうございました。
538 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:11:53 ] >>529 お答え頂きありがとうございます。 動作は申し分無いのですがこのプログラムだとstdio.h以外にmath.h等の関数ライブラリが見られます。 すみませんがstdio .h のみで動作することを前提でお願いしたいと思います。 また、授業では本当に基礎的な内容のみしか扱っておらず、ネットや本を見て勉強している段階ですので、なるべく基本的な分かりやすい形でプログラムを組んでいただけたら幸いです。
539 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:15:25 ] このとき、穏やかな表情の>>529 の脳裏に、 慇懃無礼、という言葉が頭をよぎったという。
540 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:17:37 ] >>538 せっかく答えてくれた人に喧嘩売るのはやめようね
541 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:48:46 ] >>538 ソースよく読めよ
542 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:53:32 ] はいはい、もう答えなくて結構です
543 名前:デフォルトの名無しさん [2010/07/06(火) 17:44:44 ] int main() 笑 なんて使う奴はスルーしてヨシ!
544 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 18:04:56 ] 538です。 せっかく解答をして下さったにも関わらず、不快感を与える表現をしてしまいすみませんでした。 if 0とend ifの意味を理解していませんでした。 こちらの理解不足で本当に失礼しました。
545 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 18:17:15 ] ◆QZaw55cn4c は古い人間でしょ?コードの書き方でバレバレ
546 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 18:26:10 ] >>545 どの辺が古いの?
547 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 18:54:59 ] >>546 無理しないで良いよ、爺ちゃん。
548 名前:デフォルトの名無しさん [2010/07/06(火) 19:01:50 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): #include <stdio.h>typedef struct { char *fname, *mname, *lname; int byear, dyear; } writer_t; writer_t writers[] = { {"Edward", "Elmer", "Smith", 1890, 1965}, {"Robert", "Anson", "Heinlein", 1907, 1988}, {"Arthur", "Charles", "Clarke", 1917, 2008}, {"Isaac", " ", "Asimov", 1920, 1992}, {"Raymond", "Douglas", "Bradbury", 1920, 0}}; int main(void){ int i; char s[10]; for (i = 0 ; i < sizeof(writers)/sizeof(writer_t) ; i++){ printf("%c. ", writers[i].fname); if (writers[i].mname[0] != "\0") { printf("%c. %-10s", writers[i].mname[0], writers[i].lname); } else { printf("%-13s", writers[i].lname); } printf("%4s - ", writers[i].byear); if (dyear > 0){ printf("%4s", writers[i].dyear); } printf("\n"); } return 0;} 上記のエラープログラムを正しく直す。 [3] 環境 [3.1] OS: UNIX [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: ([2010年7月28日20:00まで [5] その他の制限: なるべく簡潔に(新しい変数を定義したり)お願いします。見づらいですが改行が多いと怒られるので・・
549 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:09:55 ] お・に・い・ちゃ・ん、じゃなくて、お・じ・い・ちゃ・ん ♥
550 名前: ◆QZaw55cn4c mailto:sage [2010/07/06(火) 19:11:24 ] >>538 #if 0 から #endif までの間を削除してください。 わかりやすさについては、これが限界です。
551 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:12:43 ] >>543 pc12.2ch.net/test/read.cgi/tech/1269438098/101 で述べられ済み。 ISO/IEC 9899TC2 6.7.5.3 Function declarators (including prototypes) 14 An identifier list declares only the identifiers of the parameters of the function. An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters. とあり、関数の定義のときには、空のリストは no parameters である。 すなわち引数が void の場合と等価であり、int main() は int main(void) と同じ。
552 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:15:17 ] >>545 確かに古いといわれたらそうかもしれません。 func(a, b) int a; char *b; { ... return 0; } と書いていたころもありました。 setq とか car とか cdr とかを乱発していたこともあります。
553 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:17:21 ] >>494 お前がコテハンかトリップつけろ塵
554 名前: ◆QZaw55cn4c mailto:sage [2010/07/06(火) 19:18:17 ] >>544 いえいえ、全然。
555 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:22:15 ] >>553-554 コテハン付けたり、外したり大変だなw
556 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:24:57 ] >>555 専用ブラウザを使っていますから、簡単ですよ。
557 名前:デフォルトの名無しさん [2010/07/06(火) 19:31:06 ] >>547 >setq とか car とか cdr とかを乱発していたこともあります。 横レスだけど、そのネタはww [H|T] -> とか言い出さないようにw>>552 まあ、コード書けない煽りは無視で行きましょう。
558 名前: ◆GmgU93SCyE mailto:sage [2010/07/06(火) 19:34:15 ] >>548 codepad.org/Wng6j1dW
559 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:35:47 ] >>552 その頃は return (0); と書いてたりしないか?
560 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:37:06 ] >>557 処理系をCで書く、という解説本を集めているんです。でも、いまんところ2冊しかみつかっていません。 やっぱり、そんな本は売れないんですかね。おもしろいんですけれどね。
561 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:38:44 ] >>559 しまった!
562 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:39:30 ] >>560 訳されてない本が沢山あるよ
563 名前:デフォルトの名無しさん [2010/07/06(火) 19:51:18 ] >>560 ,562 Cに限らず、技術資料とかサンプルは英語の方が多いよね。 Google codeもよく使ったなあ。
564 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:51:18 ] お爺ちゃんお口くちゃ〜い、クソースなんて書くなよw
565 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:53:06 ] >>562 洋書まではあさる実力がない‥‥‥。でもながめてみたいもの。 著者名でよければ教えてください。
566 名前:デフォルトの名無しさん [2010/07/06(火) 20:06:48 ] >>558 ありがとうございました〜
567 名前:523 mailto:sage [2010/07/06(火) 20:42:03 ] >>526 >>524 回答ありがとうございます。 まさか一日かからずに終わらせてくれるとは思いませんでした。
568 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:09:00 ] C言語と関係無いじゃん。 OSやコンパイラを作るって事だろ。
569 名前:デフォルトの名無しさん [2010/07/06(火) 22:11:38 ] コインの種類(例えば、1円、5円、8円、10円、15円)に対して、金額を入力すると その金額を払うのに最も枚数が少なくて済むコインの出し方を出力してくれる プログラム。 例えば、23円と入力すると、「10円1枚・8円1枚・5円1枚の計3枚」と出力できるプログラムです。 ただし、「10円2枚・1円3枚の計5枚」は「最小」ではないため、上の出力を優先します。 入力された金額が負の場合は、「Error」を出力するようにします。 そこで、下のようなプログラムを書いたのですが、うまく起動しません。 このプログラムを、上の出力例のように出力してくれるように書きなおしてくれませんか?? 下のプログラムでは合計枚数を出力する部分しか書いてません。 ちなみに、再帰を使ってプログラミングお願いします。
570 名前:デフォルトの名無しさん [2010/07/06(火) 22:14:36 ] 569質問者のプログラム(続き) #include<stdio.h> int coinfunc(int *C, int k, int M){ /* *C・・・コインの種類の配列(小さい順にソートされているとする) M・・・支払う金額/ k・・・コインの種類の数 */ if(M == 0){ return(0); } else if(M < 0){ return(Error); } else{ int min = 100000; int i; for(i = 0; i <= k - 1; i++){ int tmp = coinfunc(C, k, M - C[i]); if(tmp < min){ min = tmp; } } return(min + 1); } } int main(){ int C[5] = {1,5,8,10,15}; int k = 5; int M; printf("支払う金額M="); scanf("%d",&M); printf("%d\n",coinfunc(C, k, M)); }
571 名前: ◆QZaw55cn4c mailto:sage [2010/07/06(火) 22:36:25 ] >>506 codepad.org/dYsw25Et 許容範囲云々は考えていません。
572 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:38:55 ] 明日までにある宿題あるんですけど頼めますかね? すぐ貼ります
573 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:40:44 ] 頼めます
574 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:42:55 ] >>572 ここまでは作った #include<stdio.h> int main(void) { return 0; }
575 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:54:22 ] [1] 授業単元:プログラミング演習 [2] 問題文:このプログラムを拡張して、個人ごと平均点と科目ごとの平均点を小数点以下1桁まで 表示できるプログラムを作成せよ。 #include <stdio.h> main() { int score[4][3]: int total[4]: int i , j ; for (i = 0; i < 4; i++) { total[i] = 0 ; printf("No . %d\n" , i + 1); for( j = 0 ; j < 3; j++) { printf("score %d : " , j + 1) ; scanf("%d", &score[i][j]); total[i] += score[i][j]; } } printf("\n"); printf("No . | s1 s2 s3 | total\n"); printf("---+----------+------\n"); for ( i = 0; i < 4; i++) { printf("%2d | " , i + 1) ; for( j = 0; j < 3; j++) { printf("%3d " , score[i][j]); } printf("| %4d\n" , total[i]) ; } }
576 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:56:36 ] 連投すみません [3]環境 Windows、VC6.0、C [4]期限 7月7日 [5]配列まで よろしくお願いします。
577 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:36:32 ] >>570 再帰は駄目だな、100円でいっぱいいっぱいだw #include<stdio.h> #include <limits.h> int coinfunc(int *c, int k, int m) { int i, tmp, min = INT_MAX; if (m == 0) return 0; else if (m < 0) return -1; for (i = 0; i < k; i++) { tmp = coinfunc(c, k, m - c[i]); if (tmp < 0) continue; else if (tmp < min) min = tmp; } return min + 1; } int main(void) { int m, c[] = {1, 5, 8, 10, 15}; while (scanf("%d", &m) != 1) scanf("%*[^\n]"); printf("%d\n", coinfunc(c, sizeof(c)/sizeof(*c), m)); return 0; }
578 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:38:48 ] 低額は計算済みにしておいて、再帰使えば。
579 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:45:42 ] 結局イタチごっこだろ じゃあ非再帰ならいいのかと思って試したら、100000000円くらいが限界だった(メモリ確保できず) 割り算で出来る貨幣制度にしろってこった
580 名前:デフォルトの名無しさん [2010/07/06(火) 23:50:38 ] コインに関する問題への解答ありがとうございます。 >>577 さんありがとうございます。 >>579 さん、非再帰の場合のプログラムをのせてください。お願いします。
581 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:53:49 ] >>580 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10789.c
582 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:56:49 ] 最終的には、低額の計算だけにできるだろ。 基本は、一番高いコインで、埋めていき、最後(低額)だけ考慮する。
583 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:59:29 ] 予想では、コインの最小公倍数になるまでは最大値のコインで支払って 最小公倍数を下回る所になったら、組み合わせを考慮する。
584 名前:デフォルトの名無しさん [2010/07/07(水) 00:01:27 ] <<579さん、ありがとうございます。 ここで、第2問↓↓ 今も上で議論されていますが、このプログラム(<<577)の効率の解析をしてください。 「ある重要な演算1つに注目し、その実行回数(最悪の入力時における)を、入力 サイズを表すパラメータの関数として表す。最終的にはT(n,...)=O(n^2×・・・) のような評価式を求めてください。」できれば、その式を求める過程をお願いします。
585 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:06:30 ] >>568 ええ、lisp 用として。
586 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:07:51 ] O(1)だろ。
587 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:08:29 ] >>582 確かにそれで大分削れそうだな
588 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:08:29 ] >>575 分かる人これも頼みます
589 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:26:32 ] >>583 #include<stdio.h> #include<stdlib.h> int gcd(int a, int b){ int c; while((c=a%b)) a=b, b=c; return b; } int lcm(int a, int b){ return a/gcd(a, b)*b; } void coin_func_r(int *result, int c[], int m, int n){ int i; if(m<0 || c[0]<0 || (*result>0 && n>=*result)) return; if(m==0){ if(*result<0 || *result>n) *result=n; return; } for(i=0;c[i]>0;i++) coin_func_r(result, c+i, m-c[i], n+1); } int coin_func(int c[], int amount){ int i, lcm_all=1, result=-1, rest, c_max=1; for(i=0;c[i]>0;i++){ lcm_all=lcm(lcm_all, c[i]); if(c_max<c[i]) c_max=c[i]; } rest=amount%lcm_all; coin_func_r(&result, c, rest, 0); return result+(amount-rest)/c_max; } int main(int argc, char *argv[]){ int c[]={15, 10, 8, 5, 1, -1}, x=100, result=-1; if(argc==2) x=atoi(argv[1]); result=coin_func(c, x); printf("%d\n", result); return 0; }
590 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:36:26 ] >>589 とてもいい感じだが、コインの最小公倍数の大きさに極めて依存 - int c[]={15, 10, 8, 5, 1, -1}, x=100, result=-1; + int c[]={777, 128, 100, 15, 10, 8, 5, 1, -1}, x=100, result=-1; // tekitou として 100000をコマンドライン引数で与えると帰ってこねえ 最小公倍数よりも範囲を狭くする方法はありそうだけどなぁ
591 名前: ◆QZaw55cn4c mailto:sage [2010/07/07(水) 00:37:41 ] >>575 codepad.org/VmHF0iio 表示具合の微調整はお願いいたします。
592 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:40:32 ] >>591 ありがとうございます! 本当に助かりました。
593 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:07:22 ] >>503 ありがとうございました!
594 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:58:42 ] >>551 そこでも述べられているがそれTC2
595 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:06:02 ] [1] 授業単元:プログラミング演習 [2]Q1. 問題文:4つの整数を入力し、それらを要素とする行列を求め、その値を以下のような 形式で表示するプログラムを作成せよ。 例 100 20 30 40と入力すれば | 100 20 | =3400 | 30 40 | と表示される Q.2ディスカウントストアでどの商品でも5個以上買えば1割引、10個以上で2割引、20個以上で 4割引となっていた。キーボードから買う商品の単価と個数を入力し、合計金額を計算するプログラミングを 作成せよ。 [3]環境 Windows、VC6.0、C [4]期限 7月8日 [5]配列よりちょっと前 Q.1に関してはできそうだったのですが、バーが表示されないために却下となってまいました。 皆さんにとっては大変簡単だと思いますがよろしくお願いします。 初心者ですみません。
596 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:10:06 ] >>551 ちがう。そういうことじゃない。ISO、ANSI準拠はプログラムの開始、主体となる関数を mainとし、引数がある時と無い時でどう記述するか、標準スタイルを提唱している。 ただし、それはあくまでも 標準スタイル であり、各自の環境によって準拠しなくても構わない。
597 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:12:37 ] また、main関数の戻り値はint型とする。これは散々既出だから議論する必要なし。 自分はどうこうすると、根拠も無く意味も分からないスタイルを用いると 他者とコードをやり取りする場合は、弊害が起こるかもしれないが。 そもそも、ここでは個人的なやり取り、スタイルが通用するが C言語は何も個人が私用で使うだけでなく、世界に通じて商業用としても 普通に用いられている。それは工業規格も同じ事。だから少しでも 幅広く通用するスタイル、規格というのが必要になる。 ちなみに、CDやDVDなどもISO準拠で世界で通用する方式、規格が使われている。
598 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:25:18 ] さらに、C++では引数が無い場合は int main() としている。 あくまでも ANSI、ISO準拠の標準スタイルの話。個人的なスタイルには言及せず。
599 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 05:44:31 ] >>590 最大のコインを選ぶか選ばないかのときだけやればいい。 777円が最大なら 777*2-1以上までは777円を選んでおいてokのはず。 一枚選べる最大価格は777*2-1円だからこの辺から調べる。
600 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 06:08:18 ] コインが100円と99円としたとき。 297円 = 99*3円で100円を選ぶと失敗するから 599は間違えだな。 やっぱどのコインの倍数でもある最小公倍数がよさげか。
601 名前:デフォルトの名無しさん [2010/07/07(水) 12:20:52 ] >>582 >最終的には、低額の計算だけにできるだろ。 >基本は、一番高いコインで、埋めていき、最後(低額)だけ考慮する。 >>11 を改造させてもらいました。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10790.c
602 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 13:24:29 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10791.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: C [4] 期限: ([2010年07月10日22:00まで] [5] その他の制限: よろしくおねがいします!
603 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:23:20 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): 10人の成績を入力し、その順位を成績と共に表示したい。以下の考えに基づいたプログラムを作成せよ。 1. 2次元配列s[10][2]を用意する。 2. i=0〜9のfor文を用いて、s[i][0]に成績入力する。 3. s[0][0]とs[j][0], j=0〜9を比較し、s[0][0]より大きい数値の個数nを考える。 その個数+1が成績順位になるので、s[0][1]にn+1を代入する。 4. 同様の操作をs[i][0]にi=0〜9に対して行えば、その成績順位がs[i][1]として求められるので、 あとは成績と共に表示すればいい。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: (VC 6.0) [3.3] 言語: C [4] 期限: ([2010年07月9日15:00まで] [5] その他の制限: 初心者で申し訳ないですが頼みます。
604 名前:デフォルトの名無しさん [2010/07/07(水) 15:25:25 ] >>603 >>421 ,427
605 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:28:54 ] >>604 おお同じ人がいたとはw ありがとうございます!
606 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 17:49:16 ] >>604 これC++用だからできなかったorz
607 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:00:51 ] >>606 codepad.org/HReXj7Ky
608 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:15:29 ] >>607 ありがとうございます。 感謝感謝です。
609 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:20:35 ] >>595 暇ならでいいんでこれも頼みます
610 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:35:12 ] >>609 Q2. codepad.org/Nhl8WS7Q
611 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 18:42:57 ] >>610 ありがとうございます。
612 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 19:14:20 ] >>609 Q1 codepad.org/yXo3FhWm
613 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 19:26:52 ] >>550 ありがとうございました。 プログラムをしっかり理解出来るようもっと知識を深めたいと思います!
614 名前:デフォルトの名無しさん [2010/07/07(水) 19:29:25 ] >>612 ありがとうございます! 助かりました。
615 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 20:57:40 ] >>612 重くて開かないですね
616 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 21:24:39 ] 見れました!
617 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 21:58:05 ] 独自のライブラリも悪くは無いが 標準ライブラリ で済むならそれでおk
618 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 22:39:34 ] 【質問テンプレ】 [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): 円形テンプレートマッチングのプログラムを作成せよ。 白い楕円が複数書いてあるBMP画像を読み込み(適当にペイントで作成)画像左下からラスタ走査し、円形テンプレートマッチングをするプログラムを作成せよ。 円形テンプレートはサイズA〜Bまで変化させ、一致率(円形テンプレートの円周上に一致する白画素と一致している数/円形テンプレート円周のプロット数、円形テンプレート内の黒画素に一致している黒画素数/円形テンプレート内の黒画素数) 上位5つを色を変えて描画せよ。 また、一致率上位5つの半径、一致率、座標(画像の左下をx=0、y=0とする)をdos窓上に標示せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:VC [3.3] 言語:C++ [4] 期限:2010年7月10日まで [5] その他の制限: よろしくお願いします
619 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 23:37:51 ] [1] 授業単元:Cプログラミング演習 [2] 問題文(含コード&リンク): 問題1. 10進数1234を2進数で表示するプログラムを作成せよ。 問題2. 変数の下位16ビット中の1のビット数を数える関数 int bit_count(int x) を作成せよ [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual Stduio 2008 [3.3] 言語:C [4] 期限:2010年7月9日まで [5] その他の制限:無 よろしくお願いします
620 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 23:53:18 ] #include <stdio.h> int main() { int a, b, c, d; scanf( "%d", &a ); scanf( "%d", &b ); scanf( "%d", &c ); scanf( "%d", &d ); int value= a*d - b*c; printf( "| %d %d | =%d\n", a, b); printf( "| %d %d |\n", c, d ); return 0; } エラー z:\プログラミング演習\sample\sample\sample01c.c(12) : error C2143: 構文エラー : ';' が 'type' の前に必要です。 cl.exe の実行エラー どこを直せば良いのですか?
621 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 23:54:42 ] #include <stdio.h> int main() { int unit_price; // 単価 int num; // 個数 printf( "買う商品の単価: " ); scanf( "%d", &unit_price ); printf( "個数: " ); scanf( "%d", &num ); int total_price = unit_price * num; // 小数を使うと誤差がでるので使わない if ( num >= 20 ) total_price = total_price*6/10; else if ( num >= 10 ) total_price = total_price*8/10; else if ( num >= 5 ) total_price = total_price*9/10; printf( "合計金額: %d", total_price ); } エラー Z:\プログラミング演習\sample\ensyu8\ensyu8.c(14) : error C2143: 構文エラー : ';' が 'type' の前に必要です。 Z:\プログラミング演習\sample\ensyu8\ensyu8.c(18) : error C2065: 'total_price' : 定義されていない識別子です。 cl.exe の実行エラー これもお願いします。
622 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 23:58:40 ] >>621 変数の宣言場所をブロックの先頭に移動
623 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 23:59:05 ] #include <stdio.h> const int n = 10; int main() { int i, j; int s[n][2]; for (i = 0; i < n; i++) { printf( "%d: ", i ); scanf( "%d", &s[i][0] ); } for (i = 0; i < n; i++) { s[i][1] = 0; for (j = 0; j < n; j++) { if (s[i][0] < s[j][0]) s[i][1]++; } s[i][1]++; } for (i = 0; i < n; i++) printf( "s[%d]: %d\n", i, s[i][1] ); return 0; } /* end */ Z:\プログラミング演習\sample\sample33\ensyu33.c(7) : error C2057: 定数式が必要です。 Z:\プログラミング演習\sample\sample33\ensyu33.c(7) : error C2466: サイズが 0 の配列を割当てまたは宣言しようとしました。 Z:\プログラミング演習\sample\sample33\ensyu33.c(7) : error C2133: 's' : サイズが不明です。 cl.exe の実行エラー すみませんこれも駄目でした。 お願いします。
624 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 00:01:53 ] >>622 ありがとうございます。 しかし警告が出てしまいました。 Z:\プログラミング演習\sample\ensyu8\ensyu8.c(7) : warning C4700: 値が割り当てられていないローカルな変数 'unit_price' に対して参照が行われました。 Z:\プログラミング演習\sample\ensyu8\ensyu8.c(7) : warning C4700: 値が割り当てられていないローカルな変数 'num' に対して参照が行われました。
625 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 00:18:06 ] もしかして↓みたいな感じにしてない? int unit_price; // 単価 int num; // 個数 int total_price = unit_price * num;
626 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 00:19:39 ] >>625 なってます。 初心者ですみません。 正しいやり方教えてください。
627 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 00:27:29 ] int unit_price; // 単価 int num; // 個数 int total_price; printf( "買う商品の単価: " ); scanf( "%d", &unit_price ); printf( "個数: " ); scanf( "%d", &num ); total_price = unit_price * num;
628 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 00:30:08 ] >>627 できました! どうもありがとうございました。
629 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 00:34:44 ] >>620 自己解決できました。
630 名前:デフォルトの名無しさん [2010/07/08(木) 02:22:04 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (visual stadio 2008) [3.3] 言語: (C) [4] 期限: [2010年07月08日13:00まで] [5] その他の制限:ほんの入門級なので、if,for,whileぐらいしか使えません あと配列は禁止 概要:数値を1つ(2〜9の数字)入力し、その個数分の"*"を1辺とする 完成図(*=★、空白=☆): 3を入力した場合 ★★★ ☆☆★ ★★★ 9を入力した場合 ★★★★★★★★★ ☆☆☆☆☆☆☆☆★ ★★★★★★★☆★ ★☆☆☆☆☆★☆★ ★☆★★★☆★☆★ ★☆★☆☆☆★☆★ ★☆★★★★★☆★ ★☆☆☆☆☆☆☆★ ★★★★★★★★★ ーーーーーーーーーーーーーーーー 自分の考え方で進んでみましたが、ifの条件式の部分が分からなくて 助力を求めます
631 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 07:27:39 ] >>630 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10793.c 奇数のみ出力できるモノで良ければ
632 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 10:01:13 ] [1] 授業単元:C・プログラミング [2] 問題文(含コード&リンク): 下記のGPA計算のプログラムを読み込んだ数値を入れる配列を指すポインタを用いて書き換えよ.ただし,配列は1次元配列を用い,また関数を使う必要はない. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10794.txt [3] 環境 [3.1] Windows 7 [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:2010年7月10日迄 よろしくお願いします。
633 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 10:51:09 ] >>632 void input(int sei[][N2], int n); ↓↓↓↓ void input(int (*sei)[N2], int n); for(i=0; i<n; i++){ ↓↓↓↓ int (*p)[N2]; for (p = sei; p < sei + n; p++) { sei[i][2]= 0; ↓↓↓↓ (*p)[2]= 0;
634 名前:デフォルトの名無しさん [2010/07/08(木) 11:18:09 ] C言語プログラミング(再帰)について質問です。 コインの種類(例えば、1円、5円、8円、10円、15円)に対して、金額を入力すると その金額を払うのに最も枚数が少なくて済むコインの出し方を出力してくれる プログラムを書こうと思っています。 例えば、23円と入力すると、「10円1枚・8円1枚・5円1枚の計3枚」と出力できるプログラムです。 ただし、「10円2枚・1円3枚の計5枚」は「最小」ではないため、上の出力を優先します。 そこで、下のようなプログラムを書いたのですが、合計枚数を出すまでしかできませんでした。 これを、それぞれのコインが何枚必要か出力するように書き換えてください!お願いします。 ソースコードは次の書き込みで。
635 名前:デフォルトの名無しさん [2010/07/08(木) 11:19:16 ] #include<stdio.h> #include<limits.h> int coinfunc(int *c, int k, int m) { int i, tmp, min = INT_MAX; if (m == 0) return 0; else if (m < 0) return -1; for (i = 0; i < k; i++) { tmp = coinfunc(c, k, m - c[i]); if (tmp < 0) continue; else if (tmp < min) min = tmp; } return min + 1; } int main(void) { int m, c[] = {1, 5, 8, 10, 15}; printf("m=?\n"); while (scanf("%d", &m) != 1) scanf("%*[^\n]"); printf("%d\n", coinfunc(c, sizeof(c)/sizeof(*c), m)); return 0; }
636 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 11:21:49 ] 23円は15と8じゃダメですか? ><;
637 名前:デフォルトの名無しさん [2010/07/08(木) 11:28:10 ] >>636 すいません!!23円のときは15と8が最小ですね。。
638 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 11:57:17 ] >>634 codepad.org/GanifMOO
639 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 12:01:39 ] 性帝トーマス△
640 名前:デフォルトの名無しさん [2010/07/08(木) 12:17:43 ] >>638 33円 -> 15円1枚、10円1枚、8円1枚 が最小。
641 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 12:26:46 ] 1 #include<stdio.h> 2 #include<string.h> 3 typedef struct K{ 4 char* name; 5 int tensuu; 6 }K; 7 int main(void) 8 { 9 FILE *fp; 10 char str[256]; 11 char *p1,*p2; 12 int i,j,n; 13 double d,e,f; 14 int a[250]; 15 char b[250][250]; 16 int x; 17 18 if((fp=fopen("seiseki.txt","r"))==NULL){ 19 printf("ファイルがありません\n"); 20 return -1; 21 }else{ 22 /*while(fgets(str,256,fp)!=NULL){ 23 p1=strtok(str," "); 24 p2=strtok(NULL," "); 25 a.name=p1; 26 a.tensuu=atoi(p2);*/ 27 i=0; 28 while(fscanf(fp,"%s %d",&b[i],&a[i])!=EOF){ 29 i=i+1;
642 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 12:28:08 ] 30 } 31 n=i; 32 printf("----------入力データ------------\n"); 33 for(i=0;i<n;i++){ 34 printf("%s %d\n",b[i],a[i]); 35 } 36 for( j=0; j<n; j++){ /* 未処理データの先頭 */ 37 for( i=1; i < n-j; i++){ 38 if( a[i-1] < a[i] ){ /* 隣り合うデータの交換*/ 39 x = a[i-1]; 40 a[i-1] = a[i]; 41 a[i] = x; 42 43 strcpy(str,b[i-1]); 44 strcpy(b[i-1],b[i]); 45 strcpy(b[i],str); 49 } 50 } 51 } 52 53 } 54 printf("----------出力データ------------\n"); 55 for(i=0;i<n;i++){ 56 printf("%s %d\n",b[i],a[i]); 57 } 58 fclose(fp); 59 return 1; 60 } 61
643 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 12:29:05 ] ファイル処理の応用 switch 文を使用して 1. データファイルの新規作成 2. データファイルの追加作成 3. データファイルの読み込みと表示 4. 終了 をメニュー形式で処理するプログラムを作成せよ。 ファイル名はキーボードから入力する。 1〜4の処理はユーザ関数として定義すること。 void data_write(void) void data_append(void) void data_read(void) void the_end(void) 1〜4以外の数値が入力されたら再入力させること。 switch 文については教科書 56 ページを参照すること。
644 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 12:31:22 ] 1. 新規作成の実行例 ********** 成績処理 ********* ← メニューの表示 ファイルの新規作成・・・・・1 ファイルの追加作成・・・・・2 ファイルの読み込みと表示・・3 終了・・・・・・・・・・・・4 ← データ入力の誤り 処理番号を入力して下さい(1〜4):9 ********** 成績処理 ********* ファイルの新規作成・・・・・1 ファイルの追加作成・・・・・2 ファイルの読み込みと表示・・3 終了・・・・・・・・・・・・4 処理番号を入力して下さい(1〜4):1 ← ファイル名の入力 Input file name= abc.txt name=?oota tensuu=?10 oota 10 name=?yamada tensuu=?50 yamada 50 name=? ← 入力の終了 Ctrl + D
645 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 12:33:27 ] 2. 追加作成の実行例 ********** 成績処理 ********* ファイルの新規作成・・・・・1 ファイルの追加作成・・・・・2 ファイルの読み込みと表示・・3 終了・・・・・・・・・・・・4 処理番号を入力して下さい(1〜4):2 name=?isida tensuu=?90 isida 90 name=?torii tensuu=?70 torii 70 name=? ← 入力の終了 Ctrl + D 3. 読み込みと表示の実行例 ********** 成績処理 ********* ファイルの新規作成・・・・・1 ファイルの追加作成・・・・・2 ファイルの読み込みと表示・・3 終了・・・・・・・・・・・・4 処理番号を入力して下さい(1〜4):3 Input file name= abc.txt oota 10 yamada 50 isida 90 torii 70
646 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:25:35 ] >>633 ありがとうございます。助かりました。
647 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:25:53 ] >>641-645 >>1
648 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:29:13 ] [1] 授業単元: [2] 問題文(含コード&リンク): 2〜9の数字を入力その数字に応じて図形を表示させる関数を作る 正方形 三角形 六角形 菱形 星 渦巻き 星と渦巻き以外できたからこの2つについて知りたい 例 7を入力したとき 左:渦 右:星 ******* * * * * * * * ***** * *** * * * ******* * *** * *** * * * * * ******* * * * [3] 環境 [3.1] OS: Windows7 [3.2] コンパイラ名とバージョン: よくわからない 申し訳ないVS2008使ってる [3.3] 言語: C [4] 期限: 2010年7月13日 [5] その他の制限: 配列は禁止
649 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:44:06 ] >>648 ほー。配列は禁止。 printf("******* * * * \n"); printf(" * * * * \n"); printf("***** * *** \n"); printf("* * * ******* \n"); printf("* *** * *** \n"); printf("* * * * * \n"); printf("******* * * * \n"); は禁止?
650 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:51:34 ] 面白いと思ってやってんの?
651 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 19:11:07 ] >>648 渦巻きの偶数パターンが分かればコードが書けるんだが
652 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:56:04 ] >634 ってさ、たとえば 36 のときみたいに解が複数あるときはどうすんの? 15,15,5,1 の4枚と、10,10,8,8 の4枚。
653 名前:デフォルトの名無しさん [2010/07/08(木) 23:06:15 ] >>630 ありがとうございます 助かりました
654 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:20:25 ] >>653 いえいえ
655 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:32:53 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 以下の仕様に従って,分数の四則演算を行うプログラムを作成せよ。 [仕様1] 以下のような構造体を定義し,分数のデータ構造に利用すること。 struct fraction{ int parent; /* 分母(denominator) */ int child; /* 分子(numerator) */ }; [仕様2] 以下の実行結果となるようなプログラムを作成せよ。 プログラムの実行結果↓ 1つ目の分数を入力して下さい。 3/4 ←キーボードより入力 2つ目の分数を入力して下さい。 1/4 ←キーボードより入力 演算方法(1.加算,2.減算,3.乗算,4.除算)を入力して下さい。 2 ←キーボードより入力 3/4 - 1/4 = 1/2 計算結果は約分をして表示 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 7月9日 [5] その他の制限:ポインタ変数、データ構造まで習いました よろしくお願いします
656 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:41:48 ] >>651 特に指示はないからこっちに任せただと思う だから左上からスタートで ******** * ****** * * * * * * * * * **** * * * ******** >>649 ifかswitchでそれをつくろうかと思ったがさすがにふざけてると思われそうなのでやめた
657 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:51:27 ] >>656 日本語でおk。偶数パターンを出力してからものを言え
658 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 00:02:35 ] >>657 すまなかった 6 4 2の順で ****** * **** * * * * * * ****** **** * * * **** 2は正方形でも右の形でもどっちでもいい ** ** ** *
659 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 00:34:07 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): yonex1.cis.ibaraki.ac.jp/~yonekura/Socket-base/Sock-prog9.html [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 4.3.4 [3.3] 言語:C [4] 期限:2010年7月11日 [5] その他の制限: よろしくお願いします。
660 名前:デフォルトの名無しさん [2010/07/09(金) 01:28:45 ] 次のプログラムを、分かりやすく疑似コードに直してください!! 分かり易ければOKです! static int coin[] = {1, 5, 8, 10, 15}; int main(void){ int *nr, *hist, money, c, n, new; printf("input money : "); while (scanf("%d", &money) != 1) { scanf("%*[^\n]"); printf("input money again : "); } scanf("%*[^\n]"); nr = (int *)malloc((money + 1)*sizeof(*nr)); if (nr == 0) { perror("calloc"); return 1; } hist = (int *)calloc(money + 1, sizeof(*hist)); if (hist == NULL) { perror("calloc"); goto err; } for (n = 0; n <= money; n++) nr[n] = n; for (c = 0; c < sizeof(coin)/sizeof(*coin); c++) for (n = coin[c]; n <= money; n++) { new = nr[n - coin[c]] + 1; if (new < nr[n]) { nr[n] = new; hist[n] = c;} } printf("total number : %d\n", nr[money]); printf("coins : "); for (n = money; n > 0; n -= coin[hist[n]]) printf("%d ", coin[hist[n]]); printf("\n"); free(nr); free(hist); return 0; err: free(nr); return 1; }
661 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 02:34:47 ] >>648 > 2〜9の数字を入力 2はどうなのよ、2の時は?
662 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 04:46:59 ] >>602 お願いします!!
663 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 07:59:57 ] >>655 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10795.txt
664 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 16:09:48 ] >>661 星は正方形で 渦巻きは>>658 でおねがいします
665 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:03:15 ] codepad.org/hm0UfG3p
666 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:21:22 ] > codepad.org ↑便利だ。 コンパイルまでしてくれる必要は無いんだけど、 もっと色々な言語(Pascalとかverilogとか)貼り付けて、 整形して表示してくれるアプローダ無いかな?
667 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:26:18 ] ideone.comは?整形して表示の意味がよく分からないけど
668 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:40:12 ] >>667 ありがとう。これでいいです。 こんなんとかPascal似の言語とか貼り付けたかったのです。 ideone.com/zrjGj
669 名前: ◆QZaw55cn4c mailto:sage [2010/07/09(金) 22:04:40 ] ideone.com は対応している言語が多いけれども、コンパイルエラーの表示に難があるからなあ。 ideone.com/ffzm5 正解は、 transform(radians.begin(), radians.end(), sines.begin(), (double (*)(double))sin);
670 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:41:13 ] 整数を入力:18 1 2 3!? (中略) 13!? 14 15!? 16 17 18!? こんなプログラムはどうやって書くんですか?
671 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:48:40 ] さぁ、世界のナベアツ先生に聞いてちょっ
672 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:49:53 ] 誘導されてきたんだなぁ。ってか宿題だったのか。 次は>>1 を読もう。
673 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:57:56 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):3の付く数字と3の倍数の時にアホになりなさい。 [3] 環境 [3.1] OS: (Windows/Linux/等々)windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)Borland C++ 5.5.1 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 20日(火)
674 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:19:04 ] >>673 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10796.txt
675 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:27:09 ] >>674 こうすれば文字列操作が不要になるんでは。 int isAho(int n) { if (n % 3 == 0) return 1; while (n) { if (n % 10 == 3) return 1; n /= 10; } }
676 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:28:12 ] >>675 最後にreturn 0;するの忘れてた。
677 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:45:55 ] 30台もどうかとは思うが300、3000台にもなるとアホばかりで疲れるわ・・・
678 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 00:17:05 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 以下の機能を持つプログラムを作ること。 -1から100の数字の中から素数を抽出する (配列に直接数字を指定することは不 可) -抽出した素数を大きい順(降順)にソートする -ソートした素数を1行につき5個表示する(6個目以降は次の行に表示する) 但し、以下の4つの機能を使ったプログラムにすること。 -サブ関数 -配列 -if文 -for文 以下の点に関して工夫をした場合は加点の対象とする -素数の計算時間の低減 -見つけた素数の数のカウント -ソートのアルゴリズム高速化 -実行時間の表示 作成したプログラムの特徴を提出時のコメントに記入すること (素数の見つけ方、ソートの仕方、表示方法での工夫など) [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010/07/23 初心者ですがよろしくお願いします。
679 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 02:06:24 ] >>678 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10797.c
680 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 09:13:45 ] ソートはなんならクイッ クソート があるでおじゃる
681 名前:618 mailto:sage [2010/07/10(土) 09:33:45 ] その他制限はありません。一通り学びましたが初心者です。 よろしくおねがいします
682 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:10:43 ] >>589 該当する関数をこれに置き換えると早くなる int coin_func_r(int result[], int c[], int m, int n){ int i, num; if(m<0 || result[m]==0) return -1; if(result[m]>0) return result[m]; for(i=0;c[i]>0;i++){ num=coin_func_r(result, c, m-c[i], n+1); if(num>0 && (result[m]<0 || result[m]>num+1)) result[m]=num+1; } if(result[m]<0) result[m]=0; return result[m]; } int coin_func(int c[], int amount){ int i, lcm_all=1, rest, c_max=1, *result, ret; for(i=0;c[i]>0;i++){ lcm_all=lcm(lcm_all, c[i]); if(c_max<c[i]) c_max=c[i]; } result=calloc(lcm_all, sizeof(int)); for(i=0;i<lcm_all;i++) result[i]=-1; for(i=0;c[i]>0;i++) result[c[i]]=1; rest=amount%lcm_all; coin_func_r(result, c, rest, 0); ret=result[rest]+(amount-rest)/c_max; free(result); return ret; }
683 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:24:32 ] >>511 ありがとうございます!
684 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:28:20 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク): 二つのint型整数の小さい方の値を返す関数 int i_minof(int x, int y){ /* ... */} を作成せよ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月12日まで よろしくお願いします。
685 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:40:05 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク): 下に示すように、整数値を読み込んで、その値を0までカウントダウン しながら表示するプログラムを作成せよ。なお、負の値を読み込んだ時は 何も表示しない(改行も表示せず終了する)ようにせよ。 ===== 整数を入力してください:9 9 8 7 6 5 4 3 2 1 0 ===== [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月12日まで よろしくお願いします。
686 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:41:38 ] >>684 int i_minof(int x, int y){ return rand()&1?x:y; }
687 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 11:41:06 ] >>684 の訂正です。 [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク): 二つのint型整数の小さい方の値を返す関数 int i_minof(int x, int y){ /* ... */} を作成せよ。 ===== 二つの整数を入力してください。 整数1:49 整数2:92 小さい方の値は17です。 ===== [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月12日まで よろしくお願いします。
688 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 11:42:32 ] >>687 ×小さい方の値は17です。 ○小さいほうの値は49です。 何度も訂正すいません。
689 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 12:21:49 ] >>687 int i_minof(int x, int y){ if(x<y){ return x; } else{ return y; } }
690 名前:689 mailto:sage [2010/07/10(土) 12:24:03 ] 補足すると 条件演算子を使えばもっと簡単になる 参考 ttp://www5c.biglobe.ne.jp/~ecb/c/05_08.html
691 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 14:55:54 ] >>685 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10798.txt
692 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 17:55:41 ] >>691 ありがとうございます。
693 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 18:01:33 ] 【質問テンプレ】 [1] 授業単元:プログラミングC [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10799.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:[無期限] お願いします。
694 名前:名無しさん@そうだ選挙に行こう [2010/07/10(土) 23:01:52 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、3つの色成分(Blue, Green, Red)に分離し、 それぞれを異なるファイルに保存するプログラムを実装しなさい。 プログラム中でやることは以下のことである。 1.ヘッダ部分を適切に読み込む 2.読み込んだヘッダ部分(ファイルヘッダ、情報ヘッダ)を用いて、適切なバイト数(画素数×1画素あたりのバイト数)を読んでくる。 3.分離したい色成分以外を0に書き換え、ヘッダ部分と色情報をファイルに書き込む。 ただし、以下のような構造体を使用する。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10800.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月12日 [5] その他の制限:特にありません。よろしくお願いします。
695 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 02:36:18 ] クイックソートのソースをとりわけ、クイックソースと言うでおじゃる
696 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 10:40:06 ] 【質問テンプレ】 [1] 授業単元:Visual C++ でのプログラミング演習 [2] 問題文(含コード&リンク):課題4.3.bをお願いします。www.dotup.org/uploda/www.dotup.org1020755.jpg [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual C++ 200 [3.3] 言語:C++ [4] 期限:[無期限]
697 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:07:13 ] >>696 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10801.txt 動作例から推測するに、恐らく最小の整数ではなく最小の自然数を出力するのだろう。 (1+1/n)^n は n>0 で単調減少だから、二分探索で解を求める。
698 名前:697 mailto:sage [2010/07/11(日) 11:12:36 ] 単調減少ではなく、単調増加でした
699 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:14:30 ] > while 型繰り返し > #include <stdio.h> ん〜〜〜
700 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:26:33 ] >>696 C言語でかいた #include<stdio.h> #include<math.h> int main(void){ int n = 0; double fn; while((fn=pow(1+1.0/n, n))<=2.71 || 2.72<=fn) n++; printf("n = %d\n", n); return (0); }
701 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:41:33 ] math.hを使うことを宣言し マス! って言ってみたかった
702 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:53:54 ] >>697 さま >>700 さま 有難うございました。無事解決できました。 また質問で申し訳ないのですが while((fn=pow(1+1.0/n, n))<=2.71 || 2.72<=fn) n++; ↓ while((fn=pow((double)(1+1/n), n))<=2.71 || 2.72<=fn) n++; のようにdouble型にキャストをすると実行中にエラーが出るのですが何故でしょうか?
703 名前:700 mailto:sage [2010/07/11(日) 11:56:42 ] >>702 ごめん 0 除算エラーだね n の初期値を 0 から 1 に変更してちょ
704 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:59:42 ] >>702 n>=2 のとき (double)(1+1/n) は常に 1.0 になってしまうぞ
705 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:11:50 ] >>703 n=0→1でエラーはでなくなりました! >>704 Googleさんで調べても分からなかったのですが キャストするとなぜだめ(1.0になる)なのでしょうか・・・?
706 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:13:47 ] 除数をキャストしてごらん。あるいはnをdouble型にする
707 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:33:26 ] >>706 割り算は整数だけではだめなのですね・・・。 最初から最後までご教授いただきありがとうございました。 #include <stdio.h> double a = (double)1/2; double b = 1/(double)3; double c = 1/4; printf("%f\n%f\n%f\n",a,b,c); 実行結果 0.500000 0.333333 0.000000
708 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:02:06 ] インチをセンチに変換するプログラムを作れという課題が出たのですが、わかりません! 明日の1限までに仕上げなければならないので、大至急お願いします! 下のところまでは書けたのですが、???のところがわかりません。 定数を掛けるというところまでは想像出来るのですが、何を掛けたらいいのか全然想像付きません。 #include <stdio.h> #include <stdlib.h> #include <string.h> double to_cm(double in) { return in * ???; } int main(int argc, char *argv[]) { double in; char str[32]; if (argc > 1) { strncpy(str, argv[1], 31); } else { printf("input inch: "); fgets(str, 31, stdin); } in = atof(str); printf("%f [in] = %f [cm].\n", in, to_cm(in)); return 0; }
709 名前: ◆QZaw55cn4c mailto:sage [2010/07/11(日) 16:05:01 ] >>708 return in * 2.56 あと、 fgets(str, 31, stdin); は fgets(str, 32, stdin); でいい。
710 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:07:24 ] >>709 出来ましたああああ!!!!!!!!111 先週出た課題でずっと悩んでたんですがこれで提出できそうです! あとプログラムの問題点まで指摘してくださってありがとうございました。 それから、次からはちゃんとテンプレを守ります。すみませんでした。
711 名前:709 mailto:sage [2010/07/11(日) 16:08:05 ] >>708 失礼、 return in * 2.54; だった。1 inch = 2.54 cm。
712 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:43:25 ] ちなみに、12インチ=1フィート=30.48cm、3フィート=1ヤード=91.44cm これ豆知識な。マイルの計算もしっかり出来ないと、参るぜ?
713 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:45:13 ] ∧_∧∩)) ( ・∀・)彡 パーン! ((⊂彡☆∩ _, ,_ ⊂(⌒⌒(;`Д´) `ヽ_つ ⊂ノ ←>>712
714 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:50:16 ] >>713 まぁそうフィートアップするなよ
715 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 17:11:59 ] パンパンパーン ∧_∧ ∩ ( ・∀・)彡☆ ⊂彡☆))Д´) >>714 ☆
716 名前:名無しさん@そうだ選挙に行こう [2010/07/11(日) 18:26:12 ] [1] 授業単元: プログラム [2] 問題文(含コード&リンク): imepita.jp/20100711/659870 画像のプログラムを下のEOFを探して処理を行う方法に書き換えてプログラムを実行せよ また、input.dataの中身を10行未満にしても正常に動く事を確かめてみよ。 int counter=0; while (!input_file.eof()){ input_file>>data[counter]; counter++ } for(i=0;i<counter;i++) output_file << data[i]*2 << '\n'; [3] 環境 [3.1] OS: linux [3.3] 言語: C++ [4] 期限: ([2010年7月11日22時まで] [5] その他の制限: なるべく簡単にしてください。お願いします。
717 名前:名無しさん@そうだ選挙に行こう [2010/07/11(日) 18:29:40 ] [1] 授業単元: プログラム [2] 問題文(含コード&リンク): imepita.jp/20100711/660110 画像のプログラムの九九表を以下の様に書き換えよ 1 画面に表示してた部分(coutの部分)をファイルに書き出す様にする 2 一番目のcoutにある''を','に変更する 3 出力ファイル名を"output.csv"とする。 この九九表が入っているファイルをExcelで読み込んで、九九表を見ることができるか確かめてみよ [3] 環境 [3.1] OS: linux [3.3] 言語: C++ [4] 期限: ([2010年7月11日22時まで] [5] その他の制限: なるべく簡単にしてください。お願いします。
718 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 19:19:51 ] >>693 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10802.c
719 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:01:05 ] >>717 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10803.txt
720 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:46:43 ] [1]授業単元:プログラミング基礎 [2] 課題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10804.txt [3] 環境:指定無し 言語C(なるべく) [4] 9/1迄(夏期課題) [5]意味がよくわからないので丸投げします
721 名前:名無しさん@そうだ選挙に行こう [2010/07/11(日) 23:08:44 ] >>719 ありがとうございます。でも、このプログラムをコンパイルしても、 続行するには何かキーを押してください で終わってしまいます
722 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:13:01 ] >>721 実行ファイルと同じところに、なにか新しいcsv ファイルが作成されていませんか?
723 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:15:40 ] >>20 といい >>720 といい、変な傾向の宿題が出るようになったものですね。
724 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:20:59 ] 別に変でもないよ。処理の内面的な部分を知る課題だろ。
725 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:25:41 ] 仕様をもとにプログラムを作成する、というのがまっとうだと思うんですが。 判じ物の問題は、「プログラム基礎」とか「暗号理論」という単元名とは全然違うのでは。
726 名前:デフォルトの名無しさん [2010/07/11(日) 23:37:13 ] >>722 プログラムのコンパイルした時にExcelを開いておけばいいって事ですか
727 名前:名無しさん@もう選挙は終わってるんで mailto:sage [2010/07/11(日) 23:37:20 ] >>725 それいうなら結局誰も答えなかったみたいだけど >>234 とかがある意味最もC言語の宿題っぽいw(けど学校の宿題としては やはり不適なんだろなw)
728 名前:デフォルトの名無しさん [2010/07/12(月) 00:04:27 ] >>722 実行ファイルと同じところに、Excelで保存したものがはいっているんですが、もしかしてそれですか
729 名前:デフォルトの名無しさん [2010/07/12(月) 00:14:16 ] 誰か716の問を助けてください
730 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:27:34 ] >>679 亀レスですみません ありがとうございました
731 名前: ◆QZaw55cn4c mailto:sage [2010/07/12(月) 02:39:35 ] >>716 単に指示通りにプログラムを入力しただけです。 codepad.org/73sQ9rsX
732 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 02:58:38 ] >>725 何が言いたいのかさっぱり分からんが、プログラムを動かしている電子機器の 基本的な仕組みも知らないでコードを書くとか・・・どれも基本は同じだし。 IFや数値を扱うにしても、もう既に実装されているコンピュータの仕組みが 大きく関与しているし。
733 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 03:01:15 ] >>732 >>20 >>720 のような出題を批判しているだけです。
734 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 03:02:17 ] >>720 っつか、学んだ内容が分かればヒントが得られるかもしれないが・・・ 法則が分からん。511までで何か数字を弄れば気づくかもしれんが。
735 名前:デフォルトの名無しさん [2010/07/12(月) 06:29:39 ] 2進数にしたときに1の数が順番に増えていくのだけはわかった。 ソートの条件はさっぱりだが。
736 名前:デフォルトの名無しさん [2010/07/12(月) 07:07:43 ] >>694 お願いします。。。
737 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 08:16:55 ] 順応性を高めなさい!そしてあるがままを受け止めなさい。
738 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 10:12:44 ] 実験(数値実験、確認、解析) システムプログラミング(アプリケーション実装) マネジメント(ネットワーク構築 etc) 開発(OS,言語、処理系、ライブラリの整備) 教育(カルチャーの紹介) ....まだあるかも ことコンピュータの世界(実世界に非ず)の教育を 単一言語で行うことには相当無理があるよな
739 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 10:34:43 ] そんなのだいたいCでやってるという現実。
740 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:02:57 ] まアセンブラを言語と考えるのならこれ以上に万能な 言語は無いな
741 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:03:01 ] だからCみたいな面倒な言語を経験しておけば他のスクリプト言語も 簡単に使えるという意図なんだろう
742 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:05:00 ] お前らのCに対する意見、気持ちはよーく分かった。だから早く 初めてのCもしてこい、なっ!
743 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:21:10 ] >>735 当たり前だろwww
744 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:34:36 ] >>738 Cが他の言語に対して圧倒的に強いのは 開発 だろな 教育できるような世界じゃないだろうけど
745 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:37:42 ] はい、Cなら色々と開発できます!
746 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:40:07 ] Cは非プログラミング言語で言うと英語みたいなもんだよ。 言語設計が優れてるか否かというよりも(まぁ優れてはいるんだろうが)、 みんなが使って、長い間使ったから、デカイ顔できるし信頼も置ける。
747 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 12:54:06 ] >>720 1 になっている bit の数を x とすると x に対して昇順にするのが大前提 x%3==0 のとき数値で昇順 x%3==1 のとき数値で降順 x%3==2 のときが分からない 数値を昇順にソートし大きい方から使う x=2 の場合だと逆順に見て 8 ? 7 ? 6 ? 5 ? 4 ? 3 ? 2 ? 1 こんな感じ x=5 の場合だと逆順に見て 5 ? 4 ? 3 ? 2 ? 1 ? ? ? 4 ? 3 ? 2 ? 1 ? ? ? 3 ? 2 ? 1 ? ? ? 2 ? 1 ? ? ? 1 ? ? ? こんな感じ
748 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 13:18:12 ] >>720 >>747 の条件分岐 x%3==0 と x%3==1 のときだけ実装 #include<stdio.h> #include<stdlib.h> int bit_count(int value){ int ret=0; while(value>0){ ret+=value&1; value>>=1; } return ret; } int num_cmp(const int *a, const int *b){ int a_bits, b_bits, ret=0; a_bits=bit_count(*a); b_bits=bit_count(*b); if(a_bits<b_bits) return -1; if(a_bits>b_bits) return 1; if(*a<*b) ret=-1; if(*a>*b) ret=1; if(a_bits%3==1) ret=-ret; return ret; } int main(void){ int num[4096], i; for(i=0;i<4096;i++) num[i]=i; qsort(num, 4096, sizeof(int), num_cmp); for(i=0;i<4096;i++){ if(bit_count(num[i])%3!=2) printf("%d:%d\n", i, num[i]); else printf("%d:???\n", i); // よく分からないので数値を出力しない } return 0; }
749 名前:デフォルトの名無しさん [2010/07/12(月) 13:40:45 ] 1 乱数を使って計算機とじゃんけんをするゲームを作成せよ。 人間の入力はグーは0、チョ基は1、パーは2とし、勝ち、負け、引き分けの判定をすること。 乱数の初期設定のために srand((unsigned int)time(NULL)); を使うこと。 2 1を改良して0,1,2以外の値が入力されるまで繰り返し勝負を続けるものを作成せよ。 よろしくお願いします。
750 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 17:20:04 ] >>749 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10806.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10807.txt
751 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:47:31 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10808.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名:gcc [3.3] 言語:C [4] 期限:7月14日まで [5] その他の制限: お手数をおかけしますが、よろしくお願いします。
752 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:53:30 ] >>751 (1) i = left - 1; //(1)________ j = right + 1; //(2)________
753 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:57:22 ] >>751 (2) return a->height - b->height; // (1)______ /*高さで比較*/ qsort(a, N, sizeof(person_t), (int (*)(const void *, const void *))compare); // (2)___________________________);
754 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:29:58 ] 内容: [1] 授業単元: プログラミング開発基礎 [2] 問題文 複数あるのでこちらで kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10809.txt [3.1] OS:(Windows [3.2] VC 6.0 [3.3] 言語:C [4] 期限:なし [5] 制限:なし 毎週毎週申し訳ありませんがよろしくお願いします
755 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:50:19 ] [1] 授業単元: 応用プログラミング [2] 問題文(含コード&リンク): 任意のサンプル値(2のべき乗)を入力し、計算結果を出力する2次元FFTのプログラムを作成せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Visual Studio2008 [3.3] 言語: どちらでも可 [4] 期限: 7月17日まで www.kurims.kyoto-u.ac.jp/~ooura/fftman/index.html FFT、二次元FFTに関しては、上記のサイトの1.2、3.1を参考にしていたのですが、 入出力表示の仕方などが良く分からなかったので、よろしくお願いします。
756 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:53:35 ] [1] 授業単元: ソフトウェア信頼性 [2] 問題文(含コード&リンク): 問題文+自分で作った部分は以下のファイルに kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10810.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: bcc [3.3] 言語: C [4] 期限: 2010年7月12日 24時
757 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 21:14:47 ] >>754 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10811.txt
758 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 21:35:17 ] [1] 授業単元:プログラミング実習 [2] 問題文(含コード&リンク):53!を正確に計算して出力するjavaプログラムを作成せよ。ここでは1桁 分の数を記憶するオブジェクトを多数作りそれらの協調で計算を進めること。 [3] 環境 [3.1] OS: unix [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: c [4] 期限: 7月13日 よろしくおねがいします
759 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 21:37:27 ] >>758 ちょっと何を言っているのかわからない
760 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 21:53:46 ] [1] 授業単元:プログラミングT [2] 問題文(含コード&リンク):3+6+9+12+・・・+n≧100の成立する最小のnの値と nがその値をとる場合の左辺の値(3〜nまでの和)を 求めて表示するプログラムをdo-while文を使って作成せよ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ:gcc [3.3] 言語:C言語 [4] 期限:2010年07月13日17:00まで [5] その他の制限:問題文中にある制限以外に制限はありません。 どうかよろしくお願いします
761 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:00:27 ] >>756 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10812.txt
762 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:02:40 ] [1] 授業単元:プログラミング実習 [2] 問題文(含コード&リンク):53!を正確に計算して出力するjavaプログラムを作成せよ。1桁 分の数を記憶するオブジェクトを多数作り計算するプログラムにすること。 [3] 環境 [3.1] OS: unix [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: c [4] 期限: 7月13日 よろしくおねがいします
763 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:05:40 ] うぜえな
764 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:08:49 ] >>761 ありがとうございます 助かりました
765 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:11:12 ] >>762 が理解できないんだけど
766 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:14:10 ] >>760 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10813.txt
767 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:14:16 ] >>758 >>762 C なのか JAVA なのか?
768 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:19:49 ] >>767 問題文だけ読むとjava 環境だけを見るとcっぽい あくまで推測ですが・・・
769 名前:760 mailto:sage [2010/07/12(月) 23:02:37 ] >>766 ありがとうございました
770 名前:デフォルトの名無しさん [2010/07/12(月) 23:18:18 ] すみません、どなたか>>694 お願いいたします。
771 名前:デフォルトの名無しさん [2010/07/12(月) 23:52:39 ] >>762 codepad.org/rW111uZW
772 名前: ◆QZaw55cn4c mailto:sage [2010/07/13(火) 01:05:09 ] >>694 codepad.org/xqiSFBEr コマンドライン第一引数に対象となる bmp ファイルを指定すると、r.bmp, g.bmp, b.bmp を出力します。 24bit bmp ファイルにしか対応していません。そのほかのタイプの bmp ファイルに対応する必要があれば、ご連絡ください。
773 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 02:02:59 ] そういえば、より汎用的なソースコードに書き換えた麻呂に負けた悔しさなのか 素人麻呂相手に必死にに噛み付いていたあいつはどこへ行ったんだろうか?
774 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 02:19:51 ] >>773 そのより汎用的なソースとやらを教えてくださいな。
775 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 02:24:58 ] こんな時間に釣れるとは思わなかったよ、麻呂と勘違いして意味不明な 戻り値の話をしちゃったおバカさんw
776 名前: ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ mailto:sage [2010/07/13(火) 02:35:36 ] /二__,--、r'"___、 ヾト、.ヽ レ'"~,-,、 ! ! ' '" ̄ .ノ\ヾ:、 K/ー'~^~_/ ヽミ:ー‐‐'" ヽ i !〉ー―'"( o ⊂! ' ヽ ∪ Y」_ i ∪ ,.:::二二ニ:::.、. l 、... ! :r'エ┴┴'ーダ ∪ ! !l .i、 . ヾ=、__./ ト=. ヽ 、∪ ― .ノ .,!
777 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 02:36:43 ] またおまえかよ。。。 コテつけろよ>>775
778 名前:デフォルトの名無しさん [2010/07/13(火) 02:45:16 ] 【質問テンプレ】 [1] 授業単元:画像処理プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10814.zip 画像を8×8 画素のブロックに分割します。各ブロック毎に平均値を求めます。 ※average という関数を作ってブロック内の平均値を求めても良いでしょう。 ブロック内の画素すべての輝度値を平均値で置き換えます。どのような画像が得られますか? 8×8画素のブロックサイズでモザイク処理を行うプログラムと、モザイク処理後の画像を提出しなさい。 [3] 環境 [3-1] OS:Windows [3-2] VC 2008 [3-3] 言語:C言語 [4] 期限: 7/13 13時がリミット [5] その他の制限: getPixelは使わない方法で現状のコードを変更した程度で完成できればベストです。
779 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 04:14:26 ] lennaたん、かわいいよ、lennaたん
780 名前:デフォルトの名無しさん [2010/07/13(火) 05:39:44 ] >>750 ありがとうございます。
781 名前:デフォルトの名無しさん [2010/07/13(火) 08:53:35 ] [1] 授業単元:プログラミングC [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10816.txt いっぱいあります。 [3] 環境 [3-1] OS:Windows [3-2] VC 2008 [3-3] 言語:C言語 [4] 期限: 7/20 お願いします。
782 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 09:08:53 ] 1*3*5*7*9*・・・*111を11で割った剰余を求めよ
783 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 09:51:05 ] A=1*3*5*7*9 B=13*・・・*111 とおくと、 与式は A*11*B と書ける。 これは 11 で割り切れる。 つまり、題意の剰余は 0 。
784 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 11:32:47 ] [1] 授業単元:プログラミング演習III [2] 問題文(含コード&リンク): 以下の機能を含む整数版秀丸エディタ用のDLLを作成せよ。 ・返り値がint型で、パラメータ(整数)を渡すと、「整数*5」の結果を返す。 ・返り値がchar型で、パラメータ(文字列)を渡すと、文字列の先頭にHello!!を付けた「Hello!!+文字列」の結果を返す。 以下のサイトも参考にする事。 homepage3.nifty.com/kons/hidemaru/helpsite/hidemac/html/200_Dll.html [3] 環境 [3.1] OS:Windows 32bit [3.2] コンパイラ名とバージョン: Visual C++ 2010 Express [3.3] 言語:C++ [4] 期限: 2010/07/14 10:40 [5] その他の制限: なし
785 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 12:28:53 ] >>762 は環境はcですが、問題はjavaです。 どうかよろしくお願いします。
786 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 13:57:12 ] コンピュータ基礎1 OS windows7 32bit gcc2.9.5 言語 c 期限 なし 課題でいくつかc言語の課題が出て、本当に簡単なのは何とか解いたのですが2つほど分からないものがあったので よろしければ教えていただきたいです。 @キーボードから1つの実数値xを入力し、絶対値を表示するプログラムを作りなさい Aキーボードからテストの得点m(0以上100以下)を入力し (1) m<60 の場合は「不合格」 (2) 60≦m<80 の場合は「普通」 (3) 80≦m の場合は「優秀」 と表示するプログラムを作りなさい。
787 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 14:09:43 ] >>786 48 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/13(火) 14:00:23 >>46 int main() { double x; scanf("%lf", &x); printf("%f\n", fabs(x)); } int main() { int m; scanf("%d", &m); printf("%s\n", m < 60 ? "不合格" : m < 80 ? "普通" : "優秀"); } 転載
788 名前:デフォルトの名無しさん [2010/07/13(火) 15:12:30 ] [1] 授業単元:プログラミング演習I [2] 問題文(含コード&リンク): 課題 (1000以下の完全数)正整数kが等式 k=(kの約数の内、k以外のものの総和) を満たす時、kは完全数であるという。たとえば、6の約数は 1,2,3,6の4個であり、6=1+2+3であるため、6は完全数である。1000以下の完全数をすべて出力するJavaプログラムを作れ。 [3] 環境 [3.1] OS:unix [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 2010/07/14 [5] その他の制限: 環境はcですがjavaの問題です。 お願いします。
789 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 15:44:30 ] それ自身を含まない約数を足してイークォールか比較すりゃええがな 俺はメルセんヌ素数を使うけど
790 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 16:28:51 ] 以下の入力をして、これを二次元配列に代入していく方法がわかりません。 当方scanf+Enterによる単純な入力しかしたことがありません。 空白を認識して代入先を変える方法?と考えて手が止まりました。 /*以下入力*/ 3 /*変数int nへ代入する。今から3*3行列を入力するという意味*/ 3 5 7 2 5 8 6 8 1 /*入力ここまで*/ for(i=0;i<n;i++){ for(j=0;j<n;j++){ printf("%d ", a[i][j]); }printf("\n"); }printf("\n"); の結果は上記の 3 5 7 2 5 8 6 8 1 を表示するように二次元配列aに代入する。
791 名前:790 mailto:sage [2010/07/13(火) 16:31:19 ] テンプレ忘れ [1] 授業単元:プログラミング [2] 問題は>>790 [3] 環境 [3.1] OS: Windows [3.2] Visual C++ 2008 [3.3] 言語: C [4] 期限: 明日 [5] その他の制限: 入力はscanfにこだわらなくても良いですが、なるべく単純にお願いします。
792 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 18:13:07 ] >>790 #include <stdio.h> #define loop(i,n) for (i = 0; i < n; i++) int main(void) { int i, n, j, a[10][10]; printf("n="); scanf("%d", &n); for (i = 0; i < n; i++) for (j = 0; j < n; j++) scanf("%d", &a[i][j]); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) printf("%d ", a[i][j]); printf("\n"); } printf("\n"); return 0; }
793 名前: ◆QZaw55cn4c mailto:sage [2010/07/13(火) 18:38:51 ] >>694 バグがありましたので修正いたします。 codepad.org/es0chPgG
794 名前: ◆QZaw55cn4c mailto:sage [2010/07/13(火) 18:46:36 ] >>778 >>694 と並行して作成しておりました。とりあえずできているものをあげておきます。 >>778 に示されているソースコードに沿って書き直す作業は、余裕があれば行います。 第一引数にターゲットとなる bmp ファイル名、第二引数に平均化した bmp ファイル名を指定します。 入力ファイルとしては、256色 bmp と 24ビット bmp に対応しています。出力ファイルは 24ビット bmp です。 codepad.org/M7WwUgUS
795 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 18:47:54 ] >>775 汎用的なソースとやらは、実は無いんですね。
796 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 19:07:59 ] >>792 どうもありがとうございました。
797 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 19:46:44 ] >>788 >>785 も同一人物だとしたら頭の中身がどこかから漏れてないか?
798 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:14:14 ] >>785 > >>762 は環境はcですが、問題はjavaです。 完成ソースをコンパイルする時のコマンドは、gcc、javacのどっち?
799 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:48:50 ] >>788 >>506 , >>571
800 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 22:18:55 ] >>784 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10818.txt
801 名前:デフォルトの名無しさん [2010/07/13(火) 22:52:55 ] 【質問テンプレ】 [1] 授業単元: 計算機プログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10819.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Visual Studio2008 [3.3] 言語: C [4] 期限:7/24 [5] その他の制限: なし 電気電子系の問題です。 よろしくお願いします
802 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:10:48 ] [1] 授業単元:オペレーティングシステムプログラミング演習 [2] 問題文 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10820.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限: 2010年7月15日17:00まで [5] その他の制限:特にありません よろしくお願いします
803 名前:デフォルトの名無しさん [2010/07/13(火) 23:27:12 ] >>800 ありがとうございます
804 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:28:45 ] / ̄\ │34nm | \_/ インテル! _|_|_ n: / \ n: || / ヽ || f「| |^ト | :::\::/::: | 「| |^|`| エーーックス |: :: ! } | <(゚)>::::<(゚)> | | ! : ::} ニジュウゴ ヽ ,イ ヽ (__人__) / ヽ ,イ エーーーッムッッ! \ `⌒´ /
805 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:37:07 ] >>798 javacです。 よろしくお願いします。
806 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:13:03 ] >802 778lenna-tan10815.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10822.c
807 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:30:21 ] >>806 ファイルが消えてるみたいで あつかましいのですが、もう一度あげていただくことは出来ないでしょうか
808 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:35:30 ] >>795 単にマクロで求める数値を適当に変えられる仕様にしただけであって 大して改変はしていなかったしw
809 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:55:05 ] >807 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10823.c だった
810 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:58:36 ] >>809 すいません、ありがとうございます
811 名前:デフォルトの名無しさん [2010/07/14(水) 01:00:16 ] [1] C言語プログラミング演習 [2] 問題文(含コード&リンク):www.dotup.org/uploda/www.dotup.org1025743.jpg [3] 環境 [3.1] OS: (Windows vista [3.3] 言語: C [4] 期限: 2010年7月14日まで [5] その他の制限: 特になしです。 よろしくお願いします。
812 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 01:02:15 ] AKB48の篠田と板野が好きです、けど モー娘。の石川梨華はもっと好きです。
813 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 01:18:57 ] >>752 >>753 ありがとうございました!
814 名前:デフォルトの名無しさん [2010/07/14(水) 01:59:24 ] >>811 codepad.org/9aQwdDgL
815 名前:デフォルトの名無しさん [2010/07/14(水) 03:28:55 ] [1] C言語プログラミング演習 [2] 問題文 name(名前: char型配列), height(身長: float型変数), bloodType(血液型: char型変数)をメンバに持つ構造体を宣言し, 128名分が記憶可能になるようその構造体の配列を定義せよ.また,その配列に対して値を入力し, さらに表示できるようにせよ.構造体のメンバ値を表示するには、ひとつの構造体の各メンバの値を表示する関数を作成すること。 % ./bodyData 1人目のデータ: 立命太郎 175.5 A 2人目のデータ: 野路花子 169.0 B 3人目のデータ: 衣笠一郎 180.4 O 4人目のデータ: 0 0 0 ← 0 0 0 と入力すると終わる. 名前 身長 血液型 立命太郎 175.5 A 野路花子 169.0 B 衣笠一郎 180.4 O % ヒント: 各人の名前、身長、血液型のデータを1行で入力するためには、参考12.1に示されたfgets()関数で、これらを1度に取り込み、最初の空白までを名前とみなし、次の空白までを身長とみなし、 次に改行までを血液型をみなせばよい。これらを別々の文字列として、必要に応じて整数や浮動小数点数に変換し、構造体のメンバに設定すること。 ヒント: ひとつの構造体の各メンバの値を表示する関数に構造体を引渡すことを繰り返えせばよい。 [3] 環境 [3.1] OS: (Windows vista [3.3] 言語: C [4] 期限: 2010年7月14日まで [5] その他の制限: 実行結果までできれば表示してほしいです
816 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 03:48:45 ] >>806 ん、例の出したり引っ込めたりか‥‥‥。
817 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 03:49:02 ] くせぇくせぇ、麻呂のクソースの臭いがぷんぷんすんぜっ
818 名前:816 mailto:sage [2010/07/14(水) 03:50:48 ] 失礼。
819 名前:デフォルトの名無しさん [2010/07/14(水) 03:58:00 ] [1] C言語プログラミング演習 [2] 問題文(含コード&リンク 整数を各要素の値とする、2つの2次元ベクトルが与えられたときに、それらの内積を計算する関数innerProduct()を使って、この2つのベクトルが直行しているかどうかを判定するプログラムを作成せよ。 2つの2次元ベクトル U(ux,uy)とv(vx,vy) の内積は, ux × uy + vx + vy で計算でき、2つのベクトルが作る角度は、 内積が正なら90°より小さく 内積が0なら 90° 内積が負なら90°より大きい この考え方は3次元のベクトルでも同じである。上記のプログラムを、3次元のベクトルにも対応したものにすぐに修正できるようにするには、マクロを使うことが有効である。 どのようにすればよいかを考えよ。 2次元の場合 % ./innerProduct input u[0]: 2 input u[1]: 6 input v[0]: 9input v[1]: -1 u=[ 2 6 ], v=[ 9 -1 ] inner product is 12 The angle of the vectors is less than 90 degree. % 3次元の場合 % ./innerProduct input u[0]:input u[1]: 1input u[2]: 2input v[0]: 6input v[1]: 3input v[2]: -2 u=[ 0 1 2 ], v=[ 6 3 -2 ] inner product is -1 The angle of the vectors is greater than 90 degree. % [3] 環境 [3.1] OS linux [3.3] 言語: C [4] 期限: 2010年7月14日まで [5] その他の制限 特になし
820 名前:デフォルトの名無しさん [2010/07/14(水) 04:00:27 ] [1] C言語プログラミング演習 [2] 問題文(含コード&リンク 標準入力から正の整数値を読み込み,0が入力されたらそれらの整数を小さい順に表示するプログラムを作成せよ. 以下のような処理の流れでプログラムを作成すること。 数字を読み込むごとに, それまでに入力された数値が格納された配列の最後の要素から, 先頭に向かって順に大小の比較を行う. これにより、読み込んだ数字の方が入るべき位置がわかる. 読み込んだ数字が入るべき箇所を空けるために、 既に記憶されている配列の要素のうち、 この数字よりも大きな数字をひとつ後ろにずらす。 空いた箇所に読み込んだ数字を代入する. 次に入力される数字の処理へ移る. % ./ordering 正整数: 17 正整数: 3 正整数: 9 正整数: 4 正整数: 0 入力された整数は小さい順に 0, 3, 4, 9, 17 です. % [3] 環境 [3.1] OS linux [3.3] 言語: C [4] 期限: 2010年7月14日まで [5] その他の制限 特になし
821 名前:デフォルトの名無しさん [2010/07/14(水) 04:08:05 ] [1] C言語プログラミング演習 [2] 問題文(含コード&リンク 文字列yを文字列xの最後に連結する関数stringcat(char [], char [])を作成せよ.この関数を用いて、入力された2つの文字列を連結するプログラムを作成せよ。 注意: stringcat()を呼び出すときは,連結後の文字列がxの配列長を超えないように注意すること. % ./catenate 文字列x (20字まで)? linux 文字列y (20字まで)? kadai 連結後のx: linuxkadai ←全部で20字以内なので連結可能 20字を超える場合は連結不可能とする [3] 環境 [3.1] OS linux [3.3] 言語: C [4] 期限: 2010年7月14日まで [5] その他の制限 特になし
822 名前:デフォルトの名無しさん [2010/07/14(水) 04:13:00 ] [1] C言語プログラミング演習 [2] 問題文(含コード&リンク 文字列xに文字列yが含まれるかどうかを判定する関数str_comp(char [], char [])を作成せよ.この関数を用いて、入力されたひとつめの文字列にふたつめの文字列が含まれているかを判定するプログラムを作成せよ。 % ./compare 文字列x (64字まで)? kadaigakitui 文字列y (64字まで)? dai "kadaigakitui"に"dai"は含まれます. % ./compare 文字列x (64字まで)? kadaigakitui 文字列y (64字まで)? ycx "kadaigakitui"に"ycx"は含まれません. [3] 環境 [3.1] OS linux [3.3] 言語: C [4] 期限: 2010年7月14日まで [5] その他の制限 特になし
823 名前: ◆QZaw55cn4c mailto:sage [2010/07/14(水) 04:34:26 ] >>815 codepad.org/NLFiBXoJ
824 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 05:16:06 ] fgets△〜
825 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 07:15:41 ] >>820 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10824.c
826 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 08:02:12 ] >>821 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10825.c >>822 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10826.c
827 名前:デフォルトの名無しさん [2010/07/14(水) 08:33:18 ] >>814 ありがとうございました 助かりましたっ!
828 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:01:59 ] >>820 漏れもやってみた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10827.c
829 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:45:18 ] for(j = i; j > 0 && n < a[j - 1]; j--) a[j] = a[j - 1]; a[j] = n; ってやるのが普通。
830 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:47:42 ] 普通(笑) お前がそう思うんならそうなんだろう、お前ん中では
831 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:54:41 ] >>829 クソースを推敲したならお主が纏めて記述したのを提出するでおじゃるよ
832 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:57:22 ] いやよ、久々にこのスレを覗いたんだが、相変わらず毎年過去に出されたのと 似たようなものばっかでさ。たまには捻くれてクソースにしたくなるじゃん。 俺の勝手だがw
833 名前:デフォルトの名無しさん [2010/07/14(水) 11:02:31 ] 【質問テンプレ】 [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): リストへの要素の追加を行うプログラムで、以下のプログラムを完成させよ。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10828.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年7月18日まで [5] その他の制限:特にありません。よろしくお願いいたします。
834 名前:デフォルトの名無しさん [2010/07/14(水) 12:58:43 ] >>820 codepad.org/QeE6s096