1 名前:デフォルトの名無しさん [2008/12/31(水) 08:02:03 BE:378684285-PLT(43140)] あなたが解けない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++の宿題を片付けます 120代目 pc11.2ch.net/test/read.cgi/tech/1229424329/
252 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:01:44 ] >>251 問題文も読まずに丸投げとは・・・
253 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:08:38 ] まだスレタイも読めない奴がいるのか
254 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:12:52 ] [1] 授業単元:プログラミング演習U [2] 問題文: 以下の仕様で収支残高管理プログラムを作成せよ.ただし,残高処理の関数を独自で定義すること. その際,ファイルポインタについてはグローバル変数として宣言しても良い. 初期状態を除いてプログラム実行時に既存の残高額のファイル(balance.txt)を読み込む. ファイルが存在する場合に限り,balance.txt)を読み込む処理をすれば良い. 各処理を選択するメニュー画面を残高額とともに表示する.可能であれば,残高は桁区切りカンマを用いて表示すること. 終了時にその時点の残高額をファイル(balance.txt)に書き込む. ヒント:最初にbalance.txtを読み込みモードで開いて読み込んだ後は,即座にファイルを閉じ,最後の書き込み時に,改めて書き込みモードで開いて同名のファイルに書き込みをすれば良い. また,ファイルからの金額の読み込みにはfscanfを,書き込みにはfprintfを使用すると良い.
255 名前:254 mailto:sage [2009/01/06(火) 17:15:48 ] >>254 続き [実行例] ***** 収支残高管理 ***** 残高は \0 です. [1] 収入 [2] 支出 [99] 終了 処理を選択してください:1 収入金額:12345 ***** 収支残高管理 ***** 残高は \12,345 です. [1] 収入 [2] 支出 [99] 終了
256 名前:254 mailto:sage [2009/01/06(火) 17:16:27 ] >>255 続き 処理を選択してください:2 支出金額:20000 ***** 収支残高管理 ***** 残高は \-7,655 (赤字)です. [1] 収入 [2] 支出 [99] 終了 処理を選択してください:99 終了します. [3] 環境 [3.1] OS:Windows XP [3.2] コンパイラ名とバージョン:Microsoft Visual Studio.Net 2003 [3.3] 言語:C++ [4] 期限:2009年1月8日 [5] その他の制限:特になし よろしくお願いします。
257 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:21:54 ] >>253
258 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:38:13 ] >>251 #include<iostream> #include<algorithm> float max(float data[], int n){ if(n<=0) return -1.0; return *std::max_element(data, data+n); } int input(float data[], int data_num_max){ int data_num; for(data_num=0;data_num<data_num_max;){ float value; if(!(std::cin >> value)) break; data[data_num++]=value; } return data_num; } int main(void){ float data[100]; int data_num, data_num_max=sizeof(data)/sizeof(data[0]); data_num=input(data, data_num_max); std::cout << max(data, data_num) << std::endl; return 0; }
259 名前:デフォルトの名無しさん [2009/01/06(火) 18:26:57 ] [1] 授業単元: プログラミング入門演習 [2] 問題文(含コード&リンク): 複数の整数のうち、指定した数で割り切れる整数の個数を求めるプログラムを作成せよ。 入力に関して キーボードから入力する整数の個数を入力し(最大で128に対応すること)改行する。 次に指した数の整数をスペース1つずつ開けて1行で入力し、改行する。 最後に1つ整数を入力し、改行する。この最後に入力した値で割り切れるかどうか 判定する。この一連の入力時,例題や解答例のような入力を保す文字等は決して表示 しないこと。 出力に関して 割り切れる整数の個数を数値のみ(+改行)を出力する。指定した数値・改行以外の 文字等の出力は一切行わないこと。 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン:Visual Stdio 2008 [3.3] 言語:C言語 [4] 期限: 1/8 12:00 [5] その他の制限:C言語の基礎を習っています。 よろしくお願いします
260 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 19:07:31 ] >>250 説明不足でごめんなさい strlen関数のことです #include <stdio.h> void main(){ char moji[100]; int i=0,x; printf("文字列を入力:"); gets(moji); printf("\n\n"); while(moji[i] != '\0'){ i; i++; } x=i+1; printf("文字列の長さ=%d",x); printf("\n\n"); } という求め方を習ったのですが、strlen関数は習っていないので・・・
261 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 19:38:19 ] >>260 C++?
262 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 19:46:33 ] >>243 >>246 ありがとうございました 助かりましたw
263 名前:つばめ [2009/01/06(火) 20:35:24 ] 分からない問題があります。 正の整数nを入力し、nの約数の和を表示するプログラムを作る問題です。 初心者なので、宜しくお願いします。
264 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 20:40:56 ] 一つの整数の約数って・・・・1からnまで全部足せばいいのか?w
265 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 20:52:19 ] >>263 #include <stdio.h> int sum(int n){ return n == 0 ? 0 : n + sum(n - 1); } int main(int n){ return scanf("%d", &n), printf("%d\n", sum(n)); }
266 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 20:55:10 ] 約数の意味がわからないアホがここで何してんの?
267 名前:265 mailto:sage [2009/01/06(火) 20:56:12 ] アッー >>264 に騙された
268 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:00:21 ] >>263 #include <stdio.h> int main(void) { int i, n, sum; scanf("%d", &n); for(i=1,sum=n; i<n; i++) if(!(n%i)) sum += i; printf("%d", sum); return 0; }
269 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:14:41 ] >>259 #include<stdio.h> int main(void){ int data[128], data_num; int i, div; scanf("%d", &data_num); for(i=0;i<data_num;i++) scanf("%d", &data[i]); scanf("%d", &div); for(i=0;i<data_num;i++) if(data[i]%div==0) printf("%d\n", data[i]); return 0; }
270 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:17:12 ] 表示するのは個数だろ
271 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:27:20 ] >>261 返事遅くなって毎度毎度すいません・・・ C++です
272 名前:つばめ [2009/01/06(火) 21:31:50 ] 質問回答ありがとうございます。 C++ではなく、C言語の方です。
273 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:38:08 ] >>270 このツンデレが!
274 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:39:56 ] なんでもツンデレ言うアホにはうんざりだ
275 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:43:58 ] じゃあ世話焼きで俺のことが大好きな妹で
276 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 21:59:37 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8536.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: visualc++2005 [3.3] 言語:C [4] 期限:2009年1月7日AM7時 よろしくお願いします
277 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 22:06:46 ] [1] 授業単元: 情報処理応用 [2] 問題文(含コード&リンク): DirectShowを用いてtest.aviなどファイルから再生している動画をout.aviなど別ファイルとして保存する [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: VC++2008 [3.3] 言語: C++ [4] 期限: 1月7日 [5] その他の制限: スレ違いかもしれませんができればお願いします
278 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 22:08:05 ] >>276 #include <stdio.h> int main(void) { int i, j = 0; while (j < 2 && scanf("%d", &i) != EOF) { if (i < 0) { puts("negative value"); j++; } else { j = 0; printf("%d\n", 2*i); } } return 0; }
279 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 22:12:58 ] [1] 授業単元:アルゴリズムの基礎および演習 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8518.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2009年1月10日12:00まで [5] その他の制限:特にありません。 よろしくお願いします。
280 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 22:26:15 ] >>279 1. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8540.txt 2. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8543.txt
281 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:07:11 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8538.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: visualc++2005 [3.3] 言語:C [4] 期限:2009年1月7日AM9時 よろしくお願いします
282 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:10:01 ] >>279 3. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8544.txt 4. kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8545.txt
283 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:29:31 ] >>281 pc11.2ch.net/test/read.cgi/tech/1229424329/601
284 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 23:57:36 ] >>283 これを利用しろということですか?
285 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 00:04:29 ] >>278 ありがとうございます ちなみにfor文の方はどうなっているのでしょうか?
286 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 00:11:58 ] [1] 授業単元:C言語 [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8546.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:09年1月7日24:00まで [5] その他の制限:丸投げですいません。基礎的な関数のみでよろしくお願いします。
287 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 00:14:42 ] >>285 #include <stdio.h> int main(void) { int i, j = 0; for (;j < 2 && scanf("%d", &i) != EOF;) { if (i < 0) { puts("negative value"); j++; } else { j = 0; printf("%d\n", 2*i); } } return 0; } こんな感じでどうかな
288 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:03:59 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8547.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC++2008 [3.3] 言語: C [4] 期限: 1月7日 [5] その他の制限: 特になし よろしくお願いします
289 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:10:06 ] >>288 課題7-3がないと無理
290 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:17:22 ] >>289 無視してかまわないです 追記 データ入力数は最大のmax個に達するか,負値が入力されるまでデータ入力を繰り返すものとする
291 名前:デフォルトの名無しさん [2009/01/07(水) 01:21:38 ] [1] 授業単元:計算機工学 [2] 問題文(含コード&リンク):下記 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC++2008 [3.3] 言語: C [4] 期限: 1月15日 [5] その他の制限: 特になし ■ 検索問題 データ数10万 ランダムな対象を1万回検索する 先頭から検索すると平均で1000秒かかった 高速化するにはどうしたらよいか ソートされてる場合とされてない場合のそれぞれについて答えよ
292 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:26:38 ] >>291 ソートされてない場合 まずソートする、 このとき オーダーが n log になるようなまともなソートを使う これを二分探索する ソートされてる場合 二分探索する
293 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:27:09 ] オーダーは n * log (n) ね
294 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:28:24 ] >>286 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8548.txt
295 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:31:32 ] >>288 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8549.txt
296 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:42:34 ] >>291 それは本当にプログラミングの課題なのか? 考察ではなく実際に試したとしたら、116日ほどかかった計算になるんだが
297 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:42:55 ] >>295 ありがとうございます
298 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 01:54:29 ] >>249 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8552.txt
299 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 02:31:06 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): キーボードから入力した整数と小数(それぞれ1つずつ)を乗算した結果を表示するプログラムを、 ポインタによる間接参照演算子を用いて作成せよ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:1月7日24時 [5] その他の制限: 入力、乗算、表示部分全てでポインタを用いる よろしくお願いします。
300 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 02:50:01 ] >>296 その発想はなかったわ。
301 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 03:09:50 ] >>299 設問者の意図がよく分からんが、こういうことか #include <stdio.h> int main(void) <% char buf<:256:>; int n; double d; int *np = &n; double *dp = &d; printf("input interger number: "); fgets(buf, 256, stdin); sscanf(buf, "%d", np); printf("input decimal number: "); fgets(buf, 256, stdin); sscanf(buf, "%f", dp); printf("%d times %f equals %f.\n", *np, *dp, *np**dp); %>
302 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 03:56:04 ] 宿題出てるんですがよくわかりません よろしくお願いします 次のように、整数値を表すクラスを設計する データメンバ x:xの座標(ただし 0-1000とする) y:yの座標(ただし 0-1000とする) z:zの座標(ただし 0-1000とする) メンバ関数 void setX(int a): xの座標を設計する(範囲外の値は、error messageを出力する) void setY(int b): Yの座標を設計する(範囲外の値は、error messageを出力する) void setZ(int c) Zの座標を設計する(範囲外の値は、error messageを出力する) int getX(): Xの座標値を得る int getY(): Yの座標値を得る int getZ(): Zの座標値を得る 結果は、次のように表示する Please Input X 3 Please Input Y 1000067 The value of Y is a mistake, Please input Y again! 5 Please Input Z 7 The result is: (3,5,7)
303 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 04:01:54 ] >>302 テンプレ嫁
304 名前:デフォルトの名無しさん [2009/01/07(水) 09:05:19 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク):下記 [3] 環境 [3.1] OS: WindowsVista SP1 [3.2] コンパイラ名とバージョン:StadyC [3.3] 言語: C [4] 期限: 2009年1月7日 21時まで [5] その他の制限: 特になし 『ジョーカーを除くトランプ52枚(1~13×4種)からランダムに5枚を抜き出した時、 ・ワンペア(同じ数字が2枚) ・ツーペア(同じ数字が2枚のものが2組) ・スリーカード(同じ数字が3枚) ・ストレート(5枚連続した数値、[10,11,12,13,1]や[1,2,3,4,5]はOKだが[12,13,1,2,3]など1をまたぐケースはNG) ・フラッシュ(5枚とも同種) ・フルハウス(ワンペアとスリーカードの組み合わせ) ・フォーカード(同じ数字が4枚) ・ストレートフラッシュ(ストレートとフラッシュの組み合わせ) それぞれの役が発生する確率(実際には試行した回数)をモンテカルロ法により求めるプログラムを作成する。 ただし、上位(記載が下にあるもの)の役と下位の役を同時に満たす場合は上位の役を優先する。 因数にポインタを含む関数を適当に作成し、利用すること。 メイン関数直下での処理はできるだけ避けることが望ましい 入力に関して キーボードから、試行回数(+改行のみ入力する)。 最大でもint型に収まる数値とする。 このとき、入力を促す文字などは決して表示しないこと。 出題に関して 試行したうち、上記の8つの役の成立回数(+改行)のみワンペアから順に1行ずつ出力(計8行)。 指定した数値・改行以外の文字などの出力は一切行わないこと。 』
305 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 09:06:33 ] >>304 マルチ死ね
306 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 09:11:56 ] >>305 >>1
307 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 09:23:49 ] >>280 ありがとうございます。
308 名前:304 mailto:sage [2009/01/07(水) 09:26:40 ] なんとか自力で出来ました どうもお手数おかけしました
309 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:08:04 ] >>300 エンジニアにむいてないな、オマエ。
310 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:10:14 ] >>306
311 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:27:55 ] >>310 >>1
312 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:27:59 ] >>304 引数を「いんすう」と読んでる教育機関なんか存在しないんじゃね?
313 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:28:11 ] >>311
314 名前:回答する気もないくせに居座るだけの無能、粘着基地外 [2009/01/07(水) 11:35:04 ] 313 名前:デフォルトの名無しさん 投稿日:2009/01/07(水) 11:28:11 >>311
315 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:36:28 ] >>312 そこから考えると、 コイツは前のスレッドで同じ宿題二度投げてるやつじゃね?
316 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:36:35 ] >>314
317 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:36:44 ] >>314 >>1
318 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:38:12 ] >>304 pc11.2ch.net/test/read.cgi/tech/1231180205/128
319 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:43:13 ] >>304 detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1422008424
320 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 11:52:44 ] マルチ先を貼られた途端におとなしくなった。
321 名前:デフォルトの名無しさん [2009/01/07(水) 12:00:17 ] >>317
322 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 12:01:14 ] >>321
323 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 12:01:20 ] >>319 うわぁ〜〜〜、質問する側もどうかと思うが、それを見つけてくる粘着基地外暇人も きめぇ〜〜〜
324 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 12:01:40 ] >>323 >>1
325 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 12:34:32 ] 巡回先が複数あるやつは多いだろ 特に質問系のスレは
326 名前:デフォルトの名無しさん [2009/01/07(水) 13:13:30 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):下記 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン:Visual Stdio 2008 [3.3] 言語:C言語 [4] 期限: 1/8 12:00 [5] その他の制限:なし。 中央値を求める関数を作成し、その関数を使用して中央値を出力する プログラムを作成せよ。関数は下記の通りとする。 int median(int *in,int num) in 複数の整数値が格納された配列(先頭)ポインタ num 入力値の数 戻り値 中央値 入力に関して キーボードから入力する整数の個数を入力し(最大で128に対応すること)改行する。 次に指定した数の整数をスペース1つずつ開けて1行で入力し、改行する。 よろしくお願いします。
327 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:22:16 ] >>298 できました。ありがとうございます。 ですが ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8553.txt こういった形にできますでしょうか? なるべくforじゃなくてwhileを使いたいのですが・・・
328 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:23:13 ] >>326 C/C++の宿題を片付けます 101代目 pc11.2ch.net/test/read.cgi/tech/1197132472/929
329 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:25:14 ] 1年前ワロタww
330 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:28:44 ] 毎年同じ内容の講義なんて当たり前だろ?
331 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:32:07 ] >>330 注目点は、環境がStudy Cなところじゃね? >>304 今年の学生はそれもつづれないようだけど。
332 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 13:38:33 ] >>326 #include <stdio.h> int median(int *in, int num) { int i, j, temp; for(i=num-1; i > 0; i--) { for(j=0; j<i; j++) { if(in[i] > in[j]) { temp = in[i]; in[i] = in[j]; in[j] = temp; }}} return num & 1 ? in[num/2] : (in[num/2-1] + in[num/2]) / 2; } int main(void) { int i, num, in[128]; scanf("%d", &num); for(i=0; i<num; i++) scanf("%d", in + i); printf("%d", median(in, num)); return 0; }
333 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 14:15:43 ] >>299 です >>301 解答ありがとうございました。 自分の知らない関数を使っているので、この解答を参考にしながら 書いてみます。
334 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 15:59:55 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):以下に記載 [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン:Visual C++ 2005 ver8.0 [3.3] 言語: C++ [4] 期限:1/10 24:00 [5] その他の制限:特になし 次のように、整数値を表すクラスを設計する データメンバ x:xの座標(ただし 0-1000とする) y:yの座標(ただし 0-1000とする) z:zの座標(ただし 0-1000とする) メンバ関数 void setX(int a): xの座標を設計する(範囲外の値は、error messageを出力する) void setY(int b): Yの座標を設計する(範囲外の値は、error messageを出力する) void setZ(int c): Zの座標を設計する(範囲外の値は、error messageを出力する) int getX(): Xの座標値を得る int getY(): Yの座標値を得る int getZ(): Zの座標値を得る 結果は、次のように表示する Please Input X 3 Please Input Y 1000067 The value of Y is a mistake, Please input Y again! 5 Please Input Z 7 The result is: (3,5,7)
335 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 16:22:14 ] >>334 わからないながらも自分で考えてみたものの途中です #include<iostream> using namespace std; class Dimension{ private: int x; int y; int z; public: void setX(int a); void setY(int b); void setZ(int c); int getX(); int getY(); int getZ(); void show(); }; void Dimension::setX(int a){ x = a; if(a>=0 && a<=1000){ cout<<"Please Input X\n"; cin>>a; } else{ cout<<"The value of X is a mistake.Please input X again!"<<"\n"; cin>>a; } }
336 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 16:36:21 ] >>323 www.google.com/search?q=%22%E5%9B%A0%E6%95%B0%E3%81%AB%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%E3%82%92%E5%90%AB%E3%82%80%22 ぐぐったらでてきた。
337 名前:help me [2009/01/07(水) 16:40:29 ] [1] 授業単元:C言語 [2] 問題文: ニュートン・ラプソン法を用いて、x^3 −10x^2 +10x + 50 = 0 の解を求めよ。解の精度は有効数字5桁とする。 [3] 環境 [3.1] OS:Linux [3.3] 言語: C [4] 期限: 1月9日 よろしくお願いします。
338 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 16:50:22 ] >>334 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8554.txt
339 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 16:59:44 ] >>337 #include<stdio.h> #include<math.h> //英語わからん #define YUUKOUKETASUU 1e-5 double f(double x) { return x*x*x - 10*x*x + 10*x + 50; } double g(double x) { return 3*x*x - 20*x +10; } double NewtonMethod(double xn) { double xn1 = xn - (f(xn)/g(xn)); if (fabs(xn1 - xn) < YUUKOUKETASUU) return xn1; return NewtonMethod(xn1); } int main(void) { double x = NewtonMethod(0); printf("f(x) = x^3 - 10x^2 +10x + 50\n"); printf("f(%f) = %f\n", x, f(x)); return 0; }
340 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:01:19 ] >>337 #include <stdio.h> #include <math.h> #define YPSILON 1e-6 #define DELTA 1e-10 double f(double x) { return x*x*x - 10*x*x + 10*x + 50; } int main(void) { double x0, x1, d; x0 = 0.0; d = (f(x0+DELTA)-f(x0))/DELTA; x1 = x0 - f(x0)/d; while (fabs(x0 - x1) > YPSILON) { x0 = x1; d = (f(x0+DELTA)-f(x0))/DELTA; x1 = x0 - f(x0)/d; } printf("x = %.5f\n", x1); return 0; }
341 名前:help me [2009/01/07(水) 17:04:34 ] >>340 ありがとうございます!
342 名前:yasu [2009/01/07(水) 17:07:23 ] [1] 授業単元: C言語プログラミング基礎 [2] 問題文(含コード&リンク):30以上500以下の整数の和を求めるプログラム作成する。 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: PAD 2 [3.3] 言語:C言語 [4] 期限: 1/9 12:00 [5] その他の制限:どうぞ宜しくお願いしますm(..)m
343 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:15:57 ] >>342 #include <stdio.h> int main(void) { int i,sum=0; for (i=30; i<=500; i++) sum += i; printf("%d", sum); return 0; }
344 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:22:38 ] >>340 なるほど、通常ありえないスペルミスを混入することで(ry >>342 #include <stdio.h> int main(void) <% printf("sam = %d\n", (500-30+1) * (30+500) / 2); return 0; %>
345 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:25:45 ] >>344 プ
346 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:35:26 ] >>343 プププ
347 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 17:38:54 ] >>344 なるほど、最近見かけることのないイーグルサムを混入したのですね
348 名前:yasu [2009/01/07(水) 17:40:03 ] 解答ありがとうございます。 助かりました!!
349 名前:238 mailto:sage [2009/01/07(水) 18:00:13 ] >>245 遅くなってすみません。ありがとうございます。
350 名前:yasu [2009/01/07(水) 18:15:23 ] [1] 授業単元: C言語プログラミング基礎 [2] 問題文 nを入力し、1からnまでの3の倍数と5の倍数の和を求めるプログラム作成する。 [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: PAD 2 [3.3] 言語:C言語 [4] 期限: 1/9 12:00 [5] その他の制限:できるだけ簡単な関数でお願いします。 どうぞ宜しくお願いしますm(..)m
351 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:28:57 ] 犯人はヤス
352 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:36:38 ] >>350 #include <stdio.h> int main(void) { int n; scanf("%d", &n); printf("%d\n", sum(n)); /*for (n=0; n<=100; n++) printf("%3d : %d\n", n, sum(n));*/ return 0; } int sum(int n) { return s(n / 3) * 3 + s(n / 5) * 5 - s(n / 15) * 15; } int s(int n) { return n * (n + 1) / 2; }