1 名前:デフォルトの名無しさん [2011/11/29(火) 19:30:48.45 ] あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。 【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 >>2 以降にあります。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
263 名前:デフォルトの名無しさん [2011/12/05(月) 16:32:54.14 ] >>254 codepad.org/COgXVknt
264 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 16:34:11.56 ] >>262 ありがとうございます。 自分のものと比べつつ後学に使わせてもらいます。
265 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 16:35:41.28 ] >>263 ありがとうございます。
266 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 17:03:44.20 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): キーボードから10個の整数を整数型配列に入力し、1番大きな数、2番目に大きな数、3番目に大きな数…10番目に大きな数の順に画面表示するプログラムを作成しなさい。 (ただし、同じ数が入力されても対処できるようにすること) [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限:12月5日24:00 [5] その他の制限:宜しくお願い致します
267 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 17:29:50.64 ] >>263 コンパイルで弾かれるのですが、もう一度確認してもらってよろしいでしょうか あと、gcc 2.95でした。すいません。
268 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 17:34:38.33 ] >>267 エラーメッセージも貼れないの?
269 名前:デフォルトの名無しさん [2011/12/05(月) 17:38:34.39 ] >>266 codepad.org/un48Bizc
270 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 18:15:46.96 ] >>259 さんのroman_to_int関数の解説を、どなたか頂けませんか。
271 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 18:29:04.24 ] >270 名前の通りだが? 読めない?
272 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 18:42:58.71 ] >>267 色々と間違えました。 >>257 のエラーで、エラーメッセージは、 /tmp/ccTVCSf2.o: In function `distance': 9-15.c:(.text+0x7b): undefined reference to `sqrt' collect2: ld はステータス 1 で終了しました です。
273 名前:デフォルトの名無しさん [2011/12/05(月) 18:45:09.90 ] …どなたかって本人でもいいのかな。 基本的には対応する数字(Xなら10)を加算して、 次の文字が今の文字よりも大きいとき(IVとか)はIを減算してる 次の文字が\0の場合は0が返ってくるので問題なし 18行目の;;はただのtypo
274 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 18:46:29.82 ] >>273 ありがとうございます!! 理解できました。
275 名前:255 mailto:sage [2011/12/05(月) 18:47:12.98 ] >>272 sqrtのリンクに失敗してんだよ #include <math.h> って行がソースにあったらコマンドラインの最後に -lm つけれ
276 名前:デフォルトの名無しさん [2011/12/05(月) 18:47:53.01 ] あと、get_roman_valuesって名前はどうかと思いつつ、めんどくさくてそのままにした。 roman_to_intと、roman_string_to_intあたりがいいのかも
277 名前:デフォルトの名無しさん [2011/12/05(月) 18:54:26.45 ] -lmって大抵の人が一回はまるよね。
278 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 18:55:04.09 ] あれ、俺ずっとageてたごめん
279 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 18:59:41.01 ] >>255 なるほど、できました。 ありがとうございます。
280 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 21:59:53.34 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):www1.axfc.net/uploader/Sc/so/298224 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2011年12月06日18:00まで [5] その他の制限:あまり高度な記述をしないで作成していただけると有難いです
281 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 23:22:01.47 ] >>277 そういえばMac OS Xだとlibc相当部分にlibm相当もリンクされているのではまらないw これはいいことなのか悪いことなのか
282 名前:デフォルトの名無しさん [2011/12/05(月) 23:22:23.34 ] [1]C言語 [2]xy平面上の2点の座標を2x2の2次元配列にキーボードから入力し、これら2点間の距離を計算して画面表示するプログラム ※√(x2-x1)^2+(y2-y1)^2で求められる。 [3]OS:win7 コンパイラ:? 言語:C [4]12/6 0:00
283 名前:282 [2011/12/05(月) 23:23:45.60 ] 自己解決しました すいませんでした
284 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 23:24:07.86 ] >>280 ttp://codepad.org/MEoTpdx4
285 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 23:30:53.44 ] >>280 ideone.com/tUWg1
286 名前:デフォルトの名無しさん [2011/12/05(月) 23:38:20.38 ] >>280 codepad.org/v4rsLUB8
287 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 02:51:09.50 ] なんでBMI大人気なのw
288 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 03:35:35.06 ] >>287 まぁ、入門用の問題としていいからじゃないの?
289 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 06:31:03.70 ] [1] 授業単元:ポインタと関数 [2] 問題文(含コード&リンク): 数(整数)へのポインタsc を引数として,点数を 0 以上100 以下に修正する関数limit_sc(int *sc) を作成せよ. [3.1] OS:linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:12/6 [5]・負の点数を0 点に,100 を超える点数を100 点に修 正するものとする ・関数の返却値はint 型とし,点数を修正した場合 には1,修正しなかった場合は0 を返す関数とすること. 以下の実行例のように,関数の動作を確認できるmain 関数も作成すること 実行例 ・点数を入力してください:110 点数を修正しました。 点数:100 ・例2,点数を入力してください:85 点数を修正しませんでした。 点数:85.
290 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 07:34:31.30 ] >>289 #include <stdio.h> int limit_sc(int *sc) { if(*sc > 100){ *sc = 100; return 1; }else if(*sc < 0){ *sc = 0; return 1; }else{ return 0; } } int main() { int n; printf("点数を入力してください:"); scanf("%d",&n); if(limit_sc(&n)){ puts("点数を修正しました。"); }else{ puts("点数を修正しませんでした。"); } printf("点数:%d\n",n); return 0; }
291 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 08:10:53.55 ] >>284-286 ありがとうございます
292 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 12:00:29.44 ] 【質問テンプレ】 [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):多重配列を降順ソートする [3] 環境 [3.1] windows 7 [3.3] C言語 [4] 期限: 12/7 17時 [5] 特になし 1列目をソートする方法は分かったのですが、2列目以降を基準としてソートする方法がわかりません ソート前 ソート後 1 3 3 5 2 8 5 2 8 1 3 3
293 名前:255 mailto:sage [2011/12/06(火) 12:05:17.70 ] >>292 どうやってソートした?
294 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 12:05:19.64 ] >>292 3列目でソート 2列目でソート 1列目でソート
295 名前:292 mailto:sage [2011/12/06(火) 12:22:57.74 ] 今のプログラムはこんな感じです int aaa(const void *a, const void *b); int i; int *j; typedef struct { double abc; double def; double ghi; } ponta; int main(void){ ponta datee[10]={ { 8, 4, 3 }, { 6., 1, 7 }, { 2, 2, 1 }, { 5, 9, 6 }, }; qsort(datee, 3, sizeof(double), aaa); for (i=0; i<=3; i++){ printf("%.1lf %.1lf %.1lf\n",datee[i]);} return 0;} int aaa(const void *a, const void *b){ if (*(double*)a<*(double*)b) return -1; else if (*(double*)a == *(double*)b) return 0; else return 1;}
296 名前:292 mailto:sage [2011/12/06(火) 12:25:03.62 ] 色々いじってたらなんかまたおかしくなってますね…1列目でソートしたプログラムを誤って消してしまったようです
297 名前:デフォルトの名無しさん [2011/12/06(火) 12:58:37.81 ] >>292 codepad.org/E4ZOWbyB
298 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 12:59:04.81 ] 多重配列じゃなくて構造体配列じゃね。 それならaaaを工夫すればいいよ
299 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 13:02:59.16 ] >>297 えっ
300 名前:デフォルトの名無しさん [2011/12/06(火) 13:04:27.84 ] あっ
301 名前:デフォルトの名無しさん [2011/12/06(火) 13:19:35.92 ] >>292 こうか codepad.org/QjeYlK3L
302 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 13:28:14.89 ] >>292 の書き込みだけで、おまえらよくエスパーできるな
303 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 13:29:53.93 ] >>295 もあるよ!
304 名前:255 mailto:sage [2011/12/06(火) 13:43:42.27 ] >>295 まででできてたら、もう自分でできそうな気もするんだが aaaのなかでdouble*でなくて、pontaでキャストして abc、def、ghiでそれぞれ比較するような感じの関数3つ作れ
305 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 13:46:31.35 ] 名前消すの忘れてた・・・
306 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 13:46:37.46 ] 関数3つ? >>301 でいいとおもうんだけど。
307 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 13:55:16.69 ] 3つに分けたほうが読みやすくね?
308 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 13:56:37.04 ] qsort3回呼ぶってことか? qsortって非破壊?
309 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 14:00:16.35 ] いや?破壊する。
310 名前:292 mailto:sage [2011/12/06(火) 14:49:00.12 ] 皆さんのおかげで無事完成しました ありがとうございました
311 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 20:02:31.00 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4921 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 2011年12月8日 [5] その他の制限: リスト操作関数ideone.com/v7JGB を用いてください。 よろしくお願いします。
312 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 21:41:19.43 ] >>311 アルゴリズムは低速でもおk?
313 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 23:07:01.56 ] アルゴリズム指定されてる気がするけど、いいんじゃない
314 名前:311 mailto:sage [2011/12/06(火) 23:08:20.67 ] >>312 全然構いません。
315 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 23:09:39.99 ] 嘘吐き朝鮮、中国人がやってる報道機関 朝鮮人犯罪があまり報道されない理由 韓国文化放送(MBC) 〒135-0091 東京都港区台場2-4-8 18F フジテレビジョン 、、 〒137-8088 東京都港区台場2-4-8 韓国聯合TVNEWS(YTN) 〒105-0000 東京都港区赤坂5-3-6 TBSテレビ 、 、、 .〒107-8006 東京都港区赤坂5-3-6 大韓毎日 、、、、、、、、、、、、 〒108-0075 東京都港区港南2-3-13 4F 東京新聞(中日新聞社東京本社) 〒108-8010 東京都港区港南2-3-13 京郷新聞 、、、、、、〒100-0004 東京都千代田区大手町1-7-2 産経新聞東京本社 〒100-8077 東京都千代田区大手町1-7-2 (サンケイスポーツ、夕刊フジ、日本工業新聞社) 朝鮮日報 、、、 〒100-0003 東京都千代田区一ツ橋1-1 4F 毎日新聞東京本社 〒100-8051 東京都千代田区一ツ橋1-1-1 韓国日報 、、、、 〒100-0004 東京都千代田区大手町1-7-1 8F 読売新聞東京本社 〒100-8055 東京都千代田区大手町1-7-1 東亜日報 、、、 〒104-0045 東京都中央区築地5-3-2 朝日新聞東京本社 〒104-8011 東京都中央区築地5-3-2(AFP、NYT) 韓国放送公社(KBS) 〒150-0041 東京都渋谷区神南2-2-1NHK東館710-C NHK放送センター、 〒150-8001 東京都渋谷区神南2-2-1
316 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 23:23:57.22 ] [1] 授業単元:C [2] 問題文(含コード&リンク): codepad.org/QfW3xLnm リンク先のコードのint searchを、以下のコードに書き換えて、プログラムを完成させなさい。 int bi_search(int target) { int hi, lo, mid; lo = 0; hi = N - 1; while (lo <= hi) { mid = (lo + hi) / 2; if (target == St[mid].num) return mid; else if (target < St[mid].num) hi = mid - 1; else lo = mid + 1; return -1; } [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語:C [4] 期限:12/8 [5] その他の制限:
317 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 23:24:50.35 ] [1] 授業単元:ソフトウェア設計 [2] 問題文(含コード&リンク):codepad.org/Gp4kGOVZ [3] 環境 [3.1] OS: Windows vista [3.2] コンパイラ名とバージョン: visual C++ 2008 [3.3] 言語: C++ [4] 期限: 2011年12月07日13:00まで [5] その他の制限: 特に無し 助けて下さい。 よろしくお願いします。
318 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 23:38:53.45 ] [1] 授業単元:アルゴリズム [2] 問題文(含コード&リンク):www1.axfc.net/uploader/Sc/so/298505 リンク先のグラフを探索して最短経路を求めるプログラムを作ってください。 探索アルゴリズムは横型探索を用いてください。 [3] 環境 [3.1] OS:windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限:2011年12月10日 [5]www1.axfc.net/uploader/Sc/so/298517 横型探索のアルゴリズム に則って作成お願いします。OPENに探索可能なノードのリスト、CLOSEDに 既に探索したノードのリストを格納してください。 *横型探索なのでグラフにあるエッジを通るコストと予測コストは関係ないと思います。 エッジの向きだけ考慮して作成お願いします。
319 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 00:32:02.26 ] [1] 授業単元:プログラミング(c言語) [2] 問題文(含コード&リンク): ビンゴゲームで、ビンゴした列の数字を足し、その合計によってランクをつけるプログラムを作れ。 ビンゴカード(5*5)に書かれている数字はランダムで1から75まで、ランクはSからEまでとする。 S 365-310 A 309-251 B 250-192 C 191-133 D 132-74 E 73-15 [3] 環境 [3.1] OS: Windows7 [3.2] コンパイラ名とバージョン:Dev-C++ 5 [3.3] 言語: C言語 [4] 期限: 2011年12月9日15:00まで [5] その他の制限: 数人のチームでの課題で、私の担当は数字を足しランク付けするところです。 すみませんが、よろしくお願いします。
320 名前:デフォルトの名無しさん [2011/12/07(水) 01:35:54.94 ] >>319 スコアすごいことになってるけど codepad.org/d9kUDbzg
321 名前:デフォルトの名無しさん [2011/12/07(水) 01:38:34.84 ] ビンゴってビンゴしたら終わりだったか( ;∀;)
322 名前:デフォルトの名無しさん [2011/12/07(水) 02:05:16.14 ] >>319 こっちで codepad.org/q8d1A2K7
323 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 02:21:40.38 ] >>322 エスパーすると、最高得点が365ってところから、同時に複数列ビンゴした場合は、 合計が最大となる列のもののみ対象とする気がする validが 1 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 のときとか。 あと、これは本当にささいなことなんだけど、diagon → diagonalかもしれない
324 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 02:40:07.63 ] >>316 codepad.org/ag7XWjHf
325 名前:デフォルトの名無しさん [2011/12/07(水) 03:59:03.83 ] >>319 やっぱりこれで codepad.org/XDRVQWus >>323 エスパーしたはずだったんだけどなぁ( ;∀;) 忘れてた。 ありがとう! 書きながらダイアゴン横丁が浮かんでた。修正感謝。
326 名前:デフォルトの名無しさん [2011/12/07(水) 04:00:29.49 ] >>319 codepad.org/Iq9w5SpL
327 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 04:03:27.05 ] >>317 ideone.com/p02PC
328 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 06:16:38.22 ] >>319 codepad.org/bf57PK1p
329 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 06:38:58.42 ] >>318 codepad.org/6J46S7Bd
330 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 09:05:40.43 ] [1] 授業単元:プログラミング演習 2 [2] 問題文(含コード&リンク) テキストファイル bmi.txt を用意します 17人の名前と彼らの身長と体重が記入されています. $ cat bmi.txt Ackley,D.H. 181.5 65.1 Baker,J.E. 185.3 68.3 Keller,K.S. 175.2 63.4 Brent,R.P. 174.4 52.8 Jong,K.A. 186.2 73.4 Goldberg,D.E. 174.0 60.0 Forrest,S. 175.5 60.6 Fletcher,R. 180.3 73.8 Powell,M.J.D. 170.1 55.9 Smith,R.E. 178.7 69.6 Richardson,J. 167.7 51.5 Martin,F.G. 179.2 65.3 Wilson,S.W. 185.8 84.4 Lawler,E.L. 166.5 59.6 Reed,J. 176.3 58.8 Holland,J.H. 186.1 70.4 Jones,W.T. 171.4 63.7 C プログラム delcomma.c を書き,以下の要領でコンパイルし,実行モジュール delcomma を生成します. delcomma は想像通り,delete comma の略です. 標準入力から受け取った名前の中で,カンマ以下を削除して標準出力に表示するコマンドです.
331 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 09:05:57.06 ] [1] 授業単元:プログラミング演習 2 [2] 問題文(含コード&リンク) テキストファイル bmi.txt を用意します 17人の名前と彼らの身長と体重が記入されています. $ cat bmi.txt Ackley,D.H. 181.5 65.1 Baker,J.E. 185.3 68.3 Keller,K.S. 175.2 63.4 Brent,R.P. 174.4 52.8 Jong,K.A. 186.2 73.4 Goldberg,D.E. 174.0 60.0 Forrest,S. 175.5 60.6 Fletcher,R. 180.3 73.8 Powell,M.J.D. 170.1 55.9 Smith,R.E. 178.7 69.6 Richardson,J. 167.7 51.5 Martin,F.G. 179.2 65.3 Wilson,S.W. 185.8 84.4 Lawler,E.L. 166.5 59.6 Reed,J. 176.3 58.8 Holland,J.H. 186.1 70.4 Jones,W.T. 171.4 63.7 C プログラム delcomma.c を書き,以下の要領でコンパイルし,実行モジュール delcomma を生成します. delcomma は想像通り,delete comma の略です. 標準入力から受け取った名前の中で,カンマ以下を削除して標準出力に表示するコマンドです.
332 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 09:06:07.91 ] [1] 授業単元:プログラミング演習 2 [2] 問題文(含コード&リンク) テキストファイル bmi.txt を用意します 17人の名前と彼らの身長と体重が記入されています. $ cat bmi.txt Ackley,D.H. 181.5 65.1 Baker,J.E. 185.3 68.3 Keller,K.S. 175.2 63.4 Brent,R.P. 174.4 52.8 Jong,K.A. 186.2 73.4 Goldberg,D.E. 174.0 60.0 Forrest,S. 175.5 60.6 Fletcher,R. 180.3 73.8 Powell,M.J.D. 170.1 55.9 Smith,R.E. 178.7 69.6 Richardson,J. 167.7 51.5 Martin,F.G. 179.2 65.3 Wilson,S.W. 185.8 84.4 Lawler,E.L. 166.5 59.6 Reed,J. 176.3 58.8 Holland,J.H. 186.1 70.4 Jones,W.T. 171.4 63.7 C プログラム delcomma.c を書き,以下の要領でコンパイルし,実行モジュール delcomma を生成します. delcomma は想像通り,delete comma の略です. 標準入力から受け取った名前の中で,カンマ以下を削除して標準出力に表示するコマンドです.
333 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 09:08:21.81 ] $ gcc -o delcomma delcomma.c コマンド delcomma にリダイレクト機能を使って入力ファイル bmi.txt の中身を処理させます. 結果は以下のようになります.綺麗に名前のカンマ以下が消えています. $ ./delcomma < ./bmi.txt Ackley Baker Keller Brent Jong Goldberg Forrest Fletcher Powell Smith Richardson Martin Wilson Lawler Reed Holland Jones
334 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 09:09:57.72 ] ソース delcomma.c の一部を示します.残りを埋めて完成させて下さい. #include <stdio.h> #define MAX_LINE 20 #define MAX_NAME 20 int main(void); int readfile(char (*)[MAX_NAME]); void del_comma(char (*)[MAX_NAME], int); void write_array(char (*)[MAX_NAME], int); int main(void) { char name[MAX_LINE][MAX_NAME]; int n; n = readfile(name); del_comma(name, n); write_array(name, n); return 0; } void write_array(char (*name)[MAX_NAME], int n) { int i; for (i = 0; i < n; i++) printf("%s\n", name[i]); return; }
335 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 09:11:34.43 ] すいません間違えて何度も同じ書き込みしてしまいました。[3.1] OS: unix [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:12月7日(出来れば早めにお願いします) よろしくお願いします
336 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 09:33:55.21 ] >>330-335 ググってみた dixq.net/forum/viewtopic.php?t=9698&p=78144 detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1376676993 どうもこのBMIの問題は人気があるようだ
337 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 09:52:19.25 ] >330-335 ideone.com/SYsWc
338 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 09:55:18.06 ] >>327 感謝!!
339 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 10:17:29.42 ] >>337 X while (fgets(s, "%s", stdin) != NULL) O while (fgets(s, MAX_NAME, stdin) != NULL)
340 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 10:45:11.96 ] 近々これを元にBMI計算しろって丸投げがくるな
341 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 11:02:28.20 ] [1] 授業単元: プログラミング演習 [2] メンバに氏名、身長(double)、体重(double), BMI (double)をもつ構造体をつくり、氏名、身長、体重に適当な値を設定します。 そしてこの構造体のポインタを引数として渡したときにBMIメンバに計算結果を格納する関数を作ってください。 (もちろん、メイン関数もかいて動作を確かめよ。) BMI : 体重(kg)を身長の2乗(m)で割った値 (体重(kg)/(身長(m))^2) [3] 環境 [3.1] OS: Windows [3.2] visual C++2005 [3.3] C [4] 期限:2011/12/8
342 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 11:20:28.51 ] >>341 ideone.com/4WnzN
343 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 12:05:58.87 ] 安定のBMIスレ double BMI(double weight,double height) /*weight: 体重(kg)*/ /*height: 身長(m)*/ {if((weight<0)||(height<0){return -1 /*エラー*/} return weight/(height*height);} までテンプレ
344 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 12:14:37.11 ] >>329 ありがとう御座います。助かりました。
345 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 12:43:30.56 ] >>336 雛形コードについての表現がおもろいな。 ・ここまで何とかできた ・友達と一緒にやって、教科書などから「だいたいこんな感じではないか」
346 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 13:34:20.47 ] >>311 ideone.com/Xe3sf すんません。私の技量ではこれが限界です。
347 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 14:00:38.70 ] 民主は反日で論外 自民は谷垣のようなエセ保守が居る限り衰退
348 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 15:32:42.15 ] >>347 ideone.com/gEh6n
349 名前:335 mailto:sage [2011/12/07(水) 16:55:00.92 ] >>337 だとコンパイル可能なのですが実行するとSegmentation faultが出てしまいます どこを修正すれば見当つきません 誰か教えてもらえますか
350 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 17:17:40.29 ] >>349 ゴミなので全部書き直せばいい
351 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 17:20:01.74 ] [1] 授業単元:情報処理 [2] 問題文(含コード&リンク): キーボードから二つの文字列を配列x[256]とy[256] に入力する。 配列xに含まれる文字列の後ろに配列yに含まれる文字列をつなげたものを配列z[256] に代入し、画面表示するプログラムを作成せよ。 (ただし、NULL文字「\0」の扱いに注意し、配列z の文字列の後ろにNULL文字を入れておくこと) [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc 2.9 [3.3] 言語:C言語 [4] 期限: 12月13日24時 [5] その他の制限:ありません。宜しくお願いします。
352 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 17:25:29.21 ] >349 マジで半分くらいは書き換え
353 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 17:39:16.37 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 以下の手順に従ってプログラムを作成せよ。 適宜printfを利用して、入力支援(「文字列を入力してください」等の画面表示)を行うこと。 1.文字配列name[5][64]を作成 2.キーボードから5人分の名前を入力し、name配列に格納 3.キーボードから名前を入力し、name配列の何番目に格納されているかを検索して表示 (見つからなかった場合は「見つかりません」と表示) 4.「quit」が入力されるまで3の処理を繰り返す [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限: 12/10/20:00 [5] その他の制限:お願いします。
354 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 17:40:56.24 ] >>349 コンパイル通るのか? fgets() が....
355 名前:335 mailto:sage [2011/12/07(水) 17:41:31.53 ] >>352 >>350 そうなのですか すみません誰か別のをお願いします
356 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 17:48:04.40 ] >335 礼もなしで使い捨てって、すごいなお前
357 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 17:50:29.65 ] >>351 #include <stdio.h> int main(void) { char x[256], y[256], z[256]; printf("x = "); scanf("%s", x); printf("y = "); scanf("%s", y); sprintf(z, "%s%s", x, y); printf("z = %s¥n", z); return 0; }
358 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 17:51:45.84 ] >>355 書き直した方が良いとは思うけど、面倒くさいから修正指示で良い? 30行目 × while( fgets( s, "%s", 〜 ○ while( fgets( s, 100, 〜
359 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 18:01:12.51 ] >>351 >>357 sprintfを使わないとこうなるという例 sprintfバンザイ センセーに怒られても知らないけどね //ヘッダファイルの読み込みだよ #include <stdio.h> #include <stdlib.h> #include <string.h> //マジックナンバーはプログラム内に書かないほうがいいよ #define N 256 //メイン関数だよ int main(void) { //文字列配列の宣言だよ char x[N]; char y[N]; char z[N]; //xを入力させるよ printf("x入れてね:"); fgets(x, sizeof(x), stdin); fflush(stdin); //おまじないだよ x[strlen(x) - 1] = '\0'; //NULL文字つけるよ //yを入力させるよ printf("y入れてね:"); fgets(y, sizeof(y), stdin); fflush(stdin); //おまじないだよ y[strlen(y) - 1] = '\0'; //NULL文字つけるよ strcpy(z, x); //xをzにコピーするよ strcat(z, y); //zにyを連結するよ printf("配列zの中身は%sだよ",z); //表示するよ return 0; //おまじないだよ }
360 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 18:01:20.65 ] >>355 あれ、ここではベース書き換えおk?
361 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 18:07:31.30 ] [1] 授業単元: プログラミングC (ポインタ、文字列) [2] 文字列を後ろから逆に表示する(例えば"ABC"を受け 取ったら"CBA"と表示する)関数 void put_rstring(const char *st) を,添字演算子[] を使わずに作成せよ [3] 環境 [3.1] OS: linux [3.2] gcc [3.3] C [4] 期限:2011/12/8 [5] 関数の動作を確認できるmain 関数も作成す ること. (実行例) 文字列を入力してください:Koudai 逆順に表示:iaduoK
362 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 18:12:11.18 ] >>359 ? sprintfがstrcpyとstrcatにかわっただけだろ。 strcpy(z, x); //xをzにコピーするよ strcat(z, y); //zにyを連結するよ それから、これはやりたいことの説明になってない。 > x[strlen(x) - 1] = '\0'; //NULL文字つけるよ それよりも何よりも、この恐ろしいコードを足したのはなぜ? > fflush(stdin); //おまじないだよ
363 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 18:27:03.35 ] >>361 void put_rstring(const char *st) { const char *p = st; while(*p++); while(st != p) putchar(*--p); } こういう。
364 名前:335 mailto:sage [2011/12/07(水) 18:36:07.17 ] >>356 貴方の言う通りですね 礼も無しは失礼ですね これから気をつけるので今回はすみませんでした >>358 はい 無事できましたありがとうございました
365 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 18:49:41.24 ] >>363 X while(*p++); O while(*p)p++;
366 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 18:57:04.95 ] >>365 あ、ほんと。ありがと
367 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 19:27:15.99 ] >>364 ふーん >>358 のような変更でコケたりコケなかったりするんだ。 いや、元のコードだとバッファのサイズとして文字リテラルのアドレス値が渡るだけで 「一応」動かなくもないのかなあと思ったのだが。 コケるとしたらfgets()が本当にそんだけバッファがあるかチェックしたりしてるとか? あるいは文字リテラルがすごく小さいアドレスに割り当てられてて、fgetsがバッファ不足 (と思い込む)で文字列がカンマまで取り込めなくて暴走とか?
368 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 19:43:52.23 ] >>342 マイナス値が入力されたら?
369 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 19:49:36.34 ] 宿題なんだから、条件チェックは指示された範囲でいいんじゃないの?
370 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 19:50:22.68 ] >>342 >>343 ありがとうございました
371 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 20:12:05.79 ] >>367 fgets() の第二引数は signed int だから unsigned int のポインター値が負になるかも知れないよ
372 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 20:27:27.40 ] 朝日新聞は一時期300人のネット工作員をかかえ、工作していた。 捕まった編集者は49歳ですが、こんなカスでも1500万円の年収がもらえるんですよ。 >>866 14時以降に何が起きたんだ >>866 Domain Information: [ドメイン情報] a. [ドメイン名] ASAHI-NP.CO.JP e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ f. [組織名] 株式会社 朝日新聞社 これが規制されたからじゃねw −「朝日新聞社は、とある思想やパラダイムに日本の世論を誘導する見返りに、中国から大量の資金を貰っている。」− これはおそらく週刊誌さえ書けない。 「失語症躁鬱ニートは氏ねよ」【ネット】朝日新聞社員(49)ネットで荒らし行為、会社ごとアクセス規制へ
373 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 20:36:14.77 ] >>367 > バッファがあるかチェック できないでしょ
374 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 20:43:55.89 ] >>361 #include <stdio.h> void func(char*s){ if(*s) func(s+1); putchar(*s); } int main(void){ char s[100]; printf("in="); scanf("%s",s); func(s); return 0; }
375 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 20:45:23.13 ] [1] 授業単元:C [2] 問題文(含コード&リンク): codepad.org/ag7XWjHf リンク先のコードをデータが昇順ではなく、 降順に並んでいる場合の二分探索はどのように改良すればいい? [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語:C [4] 期限:12/8 [5] その他の制限:
376 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 20:54:33.78 ] >>353 ideone.com/iYoPI
377 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 20:56:19.50 ] >>375 else if (target < St[mid].num) → else if (target > St[mid].num)
378 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 21:59:47.07 ] [1] 授業単元:C言語入門 [2] 問題文(含コード&リンク):↓ 文字列操作のライブラリ関数を使用して、指定したファイルで、 最も辞書順(ASCIIコード順)で最初に出てくる単語と、最後に出てくる単語を見つけて表示せよ。また、最も長い単語も表示せよ。 ・同じ長さの単語が複数ある場合には、最初に見つけたものだけ表示するだけでよい。 ・ただし,ここでいう単語とは、スペースや改行、タブで区切られる文字の列で必ずしも、英数字とはかぎらない。(このような区切りで、ファイルから文字列を読むために%sを用いる) ・単語の長さは100文字以内と考えてよい。 ・標準文字列関数を利用すること。 (指定されたファイルとは普通の英文が書かれた.txtファイルです) 実行例 $./quiz10-2 Input file name!:sample.txt file1 open Error sample.txt $ $./quiz10-2 Input file name!:English.txt The First word = 's The Last word = yokozuna The Longest word = accomplishment. [3] 環境 [3.1] OS: unix [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 12/13 10:00 [5] その他の制限:初学者向けらしい お願いします。
379 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 22:27:05.81 ] >>371 負の整数値ですか。確かに文字列をスタック変数に確保した場合とか、なりそうですね。 今回は違いますけど。 で、仮にバッファサイズが負で渡された場合、fgets()は何もせずに終わって欲しいような... バッファサイズが負だとおかしくなるようなfgest()の実装があるのかな? >>373 いや、たとえば超おせっかいなfgets()があって、バッファの領域すべてを0で初期化して くれるとかそんなのがあればクラッシュするかなあとw
380 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 22:30:20.77 ] [1] 授業単元:C++入門 [2] 問題文(含コード&リンク):文字型へのポインタ変数を宣言、new演算子を使用してメモリを確保しなさい 文字列のサイズがプログラム実行時に決まるようにして、そのポインタ変数が文字列として使用できることを、 画面出力で確認できるようにしなさい [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語:C++ [4] 期限:12/9 [5] その他の制限:なし codepad.org/5ly4iZhi ↑のプログラムを作成したんですが、文字を入力するとエラーになってしまいます どうすれば改善できるのか教えてください
381 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 22:37:03.42 ] >>378 codepad.org/iaZWnZLU
382 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 22:38:30.68 ] >>380 > if(Data = NULL) if(Data == NULL) に修正
383 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 22:46:03.40 ] >>380 17行目でNULLを代入しちゃってるよね。 あと1文字ずつ入力したければ、getchar()を使おう。
384 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 22:53:24.13 ] >>380 >>382 で嘘を書いてしまった。C++のnewはNULLを返さないんだった。 if(Data == NULL)は不要です。
385 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 22:55:18.80 ] >>383 …getじゃなくてか。
386 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 23:15:01.96 ] 動画:【映画盗撮防止キャンペーン】 NO MORE 映画泥棒 (ver.2) 【HD】 自民、公明両党は7日、インターネットを通じた音楽や映像ファイルの違法ダウンロードに対し、 2年以下の懲役か200万円以下の罰金を科す法案をまとめた。民主党に協力を求め、来年の通常国会で成立を目指す。 ネット上では音楽ファイルなどの違法ダウンロードが相次ぎ、関係業界に多大な損害を与えている。 従来、違法なアップロードは著作権法で処罰対象とされていたが、ダウンロードには刑事罰が科されていなかった。 ttp://www.jiji.com/jc/c?g=pol_30&k=2011120701034 PC画面を直接録画すればおk? ∧_∧_ ( ・∀|[ニ:|ol ( つ ∩ ̄ と_)_) himado.in/75952
387 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 23:58:57.20 ] >>382-385 17行目を削除したところ動作するようになりました それと tanaka と一回で入力したんですが どうすればできますか
388 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 00:17:52.99 ] [1] 画像処理入門 [2] 問題文(含コード&リンク):OpenCVを用いて、x枚(一応与えられたのは200)の画像から それぞれの画素の輝度平均、標準偏差、中央値、最頻値を用いて画像を生成しろ [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:Visual Studio 2010 [3.3] 言語:C [4] 期限:12/10 [5] その他の制限:なし カメラ固定の動画像から静止画を取得し、そこから背景画像を生成しろというものです 輝度平均と標準偏差での画像は作成できたのですが 中央値、最頻値での画像作成がどうしたものかわかりません よろしくお願い致します
389 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 01:19:51.31 ] >>388 輝度平均と標準偏差での画像作成のプログラムくらいは見せてくれないとねえ・・・
390 名前:387 mailto:sage [2011/12/08(木) 02:06:51.07 ] 「tanaka と一回で入力したんですが」→ × 「tanaka と一回で入力したいんですが」→ ○ でした >>387 の方法をおしえてもらえると嬉しいです おねがいします
391 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 02:34:40.19 ] >>390 #include<iostream> using namespace std; int main() { int Size; char *Data; cout << "配列のサイズを入力" << endl; cin >> Size; Data = new char [Size + 1]; cin >> Data; cout << Data << endl; delete Data; return 0; }
392 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 02:55:26.91 ] >>391 メモリリークのコードを書くぐらいならstd::stringにしときなさいな
393 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 02:56:03.41 ] って元からか。スマソ
394 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 04:22:58.32 ] >>391 ありがとうございます
395 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 07:14:43.59 ] >>379 > 今回は違いますけど。 それは環境依存だろ、そもそもアレのコンパイルが通るかどうかも環境依存だよ ttp://akademeia.info/index.php?C%B8%C0%B8%EC%2F%C9%B8%BD%E0%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA%2F%CA%B8%BB%FA%C6%FE%BD%D0%CE%CF%B4%D8%BF%F4%2Ffgets#qa5c3584 このページに有るソースコードによると ansi なら fgets( s, -1, は NULL を返すだけだから何もしないで終了する でも K&R なら NULL文字を読んだ事になり、 del_comma() が ',' を見つけられないから落ちる場合も有るだろう 試しに fgets( s, -1, 〜 としたら bcc ではハングした
396 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 09:06:40.49 ] >>395 質問者はbccで…とは書いてないぞ。
397 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 09:30:19.27 ] >>396 日本語の読解力はどんな仕事でも必要だよ >>395 を読んで bcc に限定した話をしていると考えるなら問題が有るな
398 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 12:41:39.62 ] >>317 ですが>>327 で #include<iostream> #include<fstream> #include<string> のみを使ってプログラムを作りたいです。 どなたか時間があるときによろしくお願いします。
399 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 14:56:59.28 ] >>395 >> 今回は違いますけど。 > >それは環境依存だろ、そもそもアレのコンパイルが通るかどうかも環境依存だよ これは「スタック変数ではない」という意味で書いたんだけど... だったらOK? で、bccでは - (キャスト等して)intの変数に文字リテラルを渡すと負数が渡る? - fgets()はK&R Cのように振る舞う(振る舞わさせることが出来る)? んですか? 環境依存なのは百も承知なので、では実際にどういう環境があるのかなと
400 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 15:03:33.45 ] 平松邦夫/民主党 大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ ・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞 ・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派 VS 橋下徹/維新の会 大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫 様子見:公明
401 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 15:10:48.32 ] >>398 template <typename T> void scan_line(const string &prompt, T &x) { cout << prompt; while( ! ( cin >> x ) ) { cin.clear(); cin.ignore( 10000, '\n' ); cout << "Error:" << prompt; } } >>327 は numeric_limits<streamsize>::max() によりバッファの最大サイズを取得しているけど、 十分に大きいと思われる数値を与えれば十分じゃないかなと思う
402 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 15:26:57.57 ] >>399 スタック・ヒープ・リテラルがアドレスの何処に配置されるかは環境依存だよって意味 > (キャスト等して)intの変数に文字リテラルを渡すと負数が渡る? 渡らなかった、リテラルは 0x400000 台のアドレスに配置されているようだ > fgets()はK&R Cのように振る舞う(振る舞わさせることが出来る)? 質問の意味が不明だ fgets( s, -1, stdin ) が NULL文字を読み込む事が確認できたので、K&Rスタイルに実装と推定できる ANSIスタイルであればNULLを返すだろう
403 名前:デフォルトの名無しさん [2011/12/08(木) 15:50:52.16 ] >>337 は仕様、動作すら確認せずに書いた産廃。 それで終わりだ。宿題スレで関係ない話してんな。
404 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 17:46:49.10 ] >>389 IplImage **src = 0; IplImage *src0 = cvLoadImage("./src/000.bmp", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); cvSaveImage( "src_image.jpg", src0, 0); if( NULL == (src = (IplImage**)malloc(IMG_NUM*sizeof(src0))) ){ printf("メモリ確保出来ず.\n"); return -1; } for(i=0;i<=IMG_NUM;i++){ sprintf(filepath, "./src/%03d.bmp",i); src[i] = cvLoadImage(filepath, CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); } という感じで読み込んで for (i = 0; i <= IMG_NUM; i++) { cvConvertScale (src[i], tmp, 1.0, 0); cvAcc(tmp, ave_img, NULL); cvSquareAcc(tmp, ave2_img, NULL); } cvConvertScale (ave_img, ave_img, 1.0/100, 0);//平均 cvConvertScale (ave2_img, ave2_img, 1.0/100, 0);//二乗和の平均 //分散 Iplimage *dispersion = cvCreateImage(cvSize(width,height),IPL_DEPTH_32F,3); cvMul( ave_img, ave_img, ave_img,0); cvSub( ave2_img, ave_img, dispersion,0 ); //標準偏差 Iplimage *sd = cvCreateImage(cvSize(width,height),IPL_DEPTH_32F,3); cvPow( dispersion, sd, 0.5 ); これで出せている…つもりです よろしくお願い致します
405 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 18:00:27.09 ] 標準偏差出せるならメジアンとかもできるんじゃないの…?
406 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 18:14:41.71 ] [1] 授業単元: プログラミングC (ポインタ、文字列) [2] 文字列を後ろから逆に表示する(例えば"ABC"を受け 取ったら"CBA"と表示する)関数 void put_rstring(const char *st) を,添字演算子[] を使わずに作成せよ [3] 環境 [3.1] OS: linux [3.2] gcc [3.3] C [4] 期限:2011/12/8 [5] 以下の実行例のように関数の動作を確認できるmain 関数も作成す ること. (実行例) 文字列を入力してください:Koudai 逆順に表示:iaduoK
407 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 18:27:05.25 ] >>406 >>361
408 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 19:05:21.64 ] [1] アルゴリズム 文字列ポインタ演習 [2] 問題文:文字列st の中に,文字c が含まれていればその文字 へのポインタを返し,含まれていなければNULL を返す 関数char *str_chr(const char *st, int c) を作成せよ.以下の実行例のように,関数の動作を確認 できるmain 関数も作成すること. 実行例 文字列str:ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 文字入力してください:X その文字はstr に含まれています。 その文字以降を表示します:XYZ 例.2 文字列str:ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 文字入力してください:3 その文字はstr に含まれていません [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:Visual Studio 2010 [3.3] 言語:C [4] 期限:12/9 [5] その他の制限: ・ 関数str_chr は,添字演算子[] を使わずに作成すること. ・? 文字c が複数ある場合は,最も先頭側の文字c へ のポインタを返すものとする.
409 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 19:26:44.45 ] >>408 #include <stdio.h> #include <string.h> char *str_chr(const char *st, int c) {return strchr(st, c);} int main() { char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; printf("1 文字入力してください:"); c = getchar(); p = str_chr(str, c); if(p!=NULL){ printf("その文字はstr に含まれています。\n" "その文字以降を表示します:%s\n", p); }else{ printf("その文字はstr に含まれていません\n", c); } return 0;
410 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 19:50:26.99 ] >>409 実行したらエラーが出ましたよ
411 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 20:17:42.93 ] >>410 嘘つくな、コンパイルすら通らないぞ
412 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 20:21:02.69 ] >>実行とコンパイル間違えた
413 名前:デフォルトの名無しさん [2011/12/08(木) 21:05:54.83 ] >>408 ideone.com/unRJq
414 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 21:33:49.67 ] >>408 ありがとうございます
415 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 21:46:08.27 ] [1] 授業単元:関数とポインタ [2] 問題文(含コード&リンク): ある実数値の2乗を求める関数jijyoと、3乗を求める関数sanjyoを作成し、メイン関数から呼び出して動作を確認せよ。ただし、関数の返却値は無いものとし、引数はアドレス渡し(ポインタ)とする。 [3] 環境 [3.1] OS:windows [3.2] コンパイラ名とバージョン: わかりません [3.3] 言語: C++ [4] 期限: 12/8 23:00 [5] その他の制限: 基本しかやってません
416 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 22:10:41.09 ] [1] 授業単元:C言語による基礎数学 [2] 問題文(含コード&リンク): 問題1 ttp://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4927 問題2 ttp://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4928 参考プログラム ttp://codepad.org/nxeE5z0Z [3] 環境 [3.1] OS:windows7 [3.2] コンパイラ名とバージョン: bcc [3.3] 言語: C言語 [4] 期限: 12/9 16:00 [5] その他の制限: できるだけ簡単に、参考プログラムを元に作成をよろしくお願いします。
417 名前:デフォルトの名無しさん [2011/12/08(木) 22:39:08.54 ] >>415 ideone.com/Hmo11
418 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 23:12:04.24 ] フジテレビが大嫌いな君が代をフジテレビ前で歌う www.nicovideo.jp/watch/sm15377275 youtube: www.youtube.com/watch?v=lf4iNq_E9XA blog-imgs-34.fc2.com/d/e/l/deliciousicecoffee/DSCN6426.jpg 4.bp.blogspot.com/-mEsOSb2V_m4/TlD4HoAbG0I/AAAAAAAADEc/ou3_NGs9h4E/s1600/6.jpg
419 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 23:36:32.21 ] スレ痴
420 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 23:59:38.91 ] [1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク):メイン関数でキーボードから2つの整数値を入力し、関数sisokuenzanにて和差積商を計算するプログラムを作成せよ。 なお、関数sisokuenzanの仕様は以下のとおりとし、計算結果はメイン関数で表示するものとする。計算結果の変数は、結果をよく考えて適切な型を使うこと。 関数名: sisokuenzan 引数 :整数1: x 整数2: y 計算結果:和 wa, 差 sa,積 seki,商 syou (ただし、計算結果はポインタ) 返却値:無し(return文は無い) その他:「関数sisokuenzanが呼ばれました」と、画面に表示する。 (実行例) 整数1= 10 整数2= 3 関数sisokuenzanが呼ばれました メイン関数に戻りました 和 = 13 差 = 7 積 = 30 商 = 3.3 [3] 環境 [3.1] OS:windows [3.2] コンパイラ名とバージョン:Microsoft Visual C++ 2010 Express [3.3] 言語: C++ [4] 期限:できるだけ早くでお願いします [5] その他の制限:
421 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 00:37:03.18 ] >>420 ideone.com/9DMwI
422 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 00:41:20.78 ] >>402 >>403 確かにそんなに引っ張る話題でもないんで一個だけ。 fgets( s, -1, stdin ) が NULL文字を読み込む事が確認できたので、K&Rスタイルに実装と推定できる >ANSIスタイルであればNULLを返すだろう もしかしてK&Rに書いてあるfgets()のコードのことですか? その場合「ANSIスタイル」 というのは何なのかという疑問が...
423 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 00:43:52.14 ] >>422 ああ、>>395 のリンクをちゃんとよんでませんでしたごめんなさい。 というわけで終了。
424 名前:デフォルトの名無しさん [2011/12/09(金) 01:34:38.68 ] >>416 1. ideone.com/KaADl 2. 回路わからん
425 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 05:17:40.88 ] >>416 課題2 あってるかどうか、さっぱりわからん codepad.org/N8rd6RQW
426 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 06:50:40.83 ] >>424 ありがとうございます >>425 ありがとうございます たぶん間違ってると思います
427 名前:426 mailto:sage [2011/12/09(金) 07:00:42.94 ] >>425 と思ったんですけど-jってprintfで表示されるようにしてたんですね^^; ありがとうございました
428 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 13:33:28.25 ] [1] 授業単元:C入門 [2] 問題文(含コード&リンク):メンバとして名前(文字列)と生年月日(yyyymmdd 形式のlong 型整数)をもつ構造体friend を宣言し, friend 型構造体のオブジェクトfr を引数としてメン バの情報を"○○さんの生年月日はyyyy 年mm 月dd 日 です。" のように表示する関数 void print_friend(struct friend fr) を作成しプログラムを完成させよ 以下の実行例のように,関数の動作を確認できるmain 関数も作成すること.ただし,main 関数は以下のよう に動作するものを作成せよ。 友人の名前を入力してください:Taro 友人の生年月日(yyyymmdd) を入力してください: 19911001 Taro さんの生年月日は1991 年10 月1 日です。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:12/10 [5] ・main 関数内で,friend 型構造体のオブジェクトfr1 を初期化せずに宣言する. ・ 以下の実行例のように,fr1 のメンバの値(名前と生年月日)をユーザに入力させる.このとき,scanf関数の引数にfr1 のメンバのアドレスを用いること. ・その後,関数print_friend を呼出してfr1 の情報を表示し,終了する.
429 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 13:54:53.10 ] >>428 codepad.org/0AHj3gWc
430 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 18:08:58.15 ] >>346 とても助かりました!ありがとうございます!
431 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 18:21:33.78 ] ,.r.:::;;;;:ュ、 fイ´__ __ヾ {:六;;;;:ハ:;;;:カ (_ ' _^_ヽリ なんだ AKBって整形した反日朝鮮人だったのかァ ,人 l⌒l、 ブームの捏造手法が寒流と同じだけはあるな / \,ゝヽr' \ / |:| ヽ l l /´堰@ l ! |___l ノ ,イ !__,}
432 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 21:03:01.65 ] [1] 授業単元:プログラミング画像処理実習 [2] 問題文(含コード&リンク):画像からエッジの検出処理を行い別の画像として出力するプログラムを作成せよ。 [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:visual studio [3.3] 言語:C [4] 期限:2011年12月22日 23時59分まで [5] その他の制限:なし
433 名前:426 mailto:sage [2011/12/09(金) 21:49:48.86 ] >>432 画像の種類は?
434 名前:デフォルトの名無しさん [2011/12/10(土) 01:35:03.04 ] 曲線をP型記述子でフーリエ変換するプログラムができずに困っています。 どなたか教えていただけないでしょうか。
435 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 07:31:17.74 ] ここにいる人はプログラムは書けても数学や電気回路に強いわけじゃないから式をかけ式を。
436 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 09:29:14.19 ] [1] 授業単元:プログラミング C言語入門 [2] 問題文(含コード&リンク):文字列st の中に,文字c が含まれていればその文字 へのポインタを返し,含まれていなければNULL を返す 関数char *str_chr(const char *st, int c) を作成せよ.以下の実行例のように,関数の動作を確認 できるmain 関数も作成すること. ただし,プログラムは以下の要件を満たすこととする. ・ 関数str_chr は,添字演算子[] を使わずに作成すること. ・文字c が複数ある場合は,最も先頭側の文字c へ のポインタを返すものとする. ・main 関数は以下に示すものを用いること.空欄は 自分で埋めること. なお,以下のmain 関数では,指定した文字が文字列中 に含まれていた場合に,文字列のその文字以降の部分を 表示するようなプログラムとしている. [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:visual studio [3.3] 言語:C [4] 期限:2011年12月10日 23時59分まで [5] その他の制限:なし
437 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 09:30:40.23 ] >>435 続き [5]なお,以下のmain 関数では,指定した文字が文字列中 に含まれていた場合に,文字列のその文字以降の部分を 表示するようなプログラムとしている. int main( void ) { int ch; char str[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; char *ptr; printf("文字列str:%s\n", str); /* 探したい文字を入力させる*/ printf("1 文字入力してください:"); ch = getchar(); /* 文字ch を探す関数を呼出す*/ ptr = /* 文字ch が見つかればstr のその文字以降の部分 を表示*/ if ( ){ printf("その文字はstr に含まれています。\n"); printf("その文字以降を表示します:%s\n",); } else printf("その文字はstr に含まれていません。\n"); return [実行例] 文字列str:ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 文字入力してください:X その文字はstr に含まれています。 その文字以降を表示します:XYZ よろしくお願いします
438 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 10:20:26.49 ] >436-437 >408
439 名前: ◆Z1sp.Bulpo [2011/12/11(日) 02:33:53.74 ] [1] 授業単元: アルゴリズム [2] 問題文(含コード&リンク): リスト構造を使用して平均を求めるプログラムの作成 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 12月14日まで [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
440 名前:432 mailto:sage [2011/12/11(日) 04:03:38.57 ] >>433 pgm画像です
441 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 06:18:35.57 ] [1] 数値解析 [2] 123 456 789.012 345.678 901 234 567.890 123.456 789 12 345.678 901.234 567 890 123.456 789.012 ・・・ のような適当な値のテキストファイル(q.txt)があり(50×4)、これらのうち3列目と4列目でそれぞれの差を取り、 以下のような新しいテキストファイル(a.txt)に出力せよ。 -221.122 -222.222 -222.212 777.778 -222.222 -112.222 ・・・ [3] 環境 [3.1] Windows [3.2] VS2010Express [3.3] C [4] 2011/12/12まで [5] 特に制限はありません。 流れとしてq.txtを読み込み、3,4列目を二次元配列に入れ、それぞれ計算させてa.txtを出力すると思いますが、 入出力はまだ理解できますが、配列に入れるのとそれらの配列を用いて計算させる辺りがあやふやです。 御教示お願いします。
442 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 06:30:39.70 ] >>441 >のような適当な値のテキストファイル(q.txt) のテキストを出してくれ いちいち作るのめんどくせ
443 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 07:04:06.05 ] >>439 codepad.org/wdhiYBra
444 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 09:55:56.24 ] [1] 授業単元: アルゴリズム(構造体・ポインタ) [2] 問題文(含コード&リンク): メンバとして映画のタイトル(文字列)と公開年(int 型整数)をもつ構造体movie を宣言し,movie 型構造 体へのポインタmv と映画タイトルの文字列str を引数 としてタイトルを書きかえる関数 void set_title(struct movie *mv, char str[]) および,movie 型構造体へのポインタmv と公開年y を 引数として公開年を書きかえる関数 void set_year(struct movie *mv, int y) を作成しプログラムを完成させる 実行例. タイトル:HAYABUSA 公開年:2011 データを書きかえました。 タイトル:October Sky 公開年:1999 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 12月11日まで
445 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 09:56:47.53 ] >>444 続き [5] その他の制限:以下の実行例のように,関数の動作を確認できるmain 関数も作成すること.ただし,main 関数は以下のよう に動作するものを作成すること ・main 関数内で,タイトルをHAYABUSA,公開年 を2011 として初期化したmovie 型構造体のオブジェクトmovie1 を宣言する ・以下の実行例のように,movie1 のメンバの値を表 示した後,関数set_title と関数set_year を用 いて別のタイトルと公開年の値に変更する.変更す るタイトルと公開年は適当な値を用いてよい(ユー ザに入力させる必要はない ・その後もう一度movie1 のメンバの値を表示して終 了する. お願いします
446 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 14:31:15.96 ] 宿題の名を借りたアンケだな・・・センセはおもしろい映画を見たいようだw ちょっとまってね、今作ってみるわ。
447 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 14:49:36.49 ] #include <stdio.h> #include <string.h> #define TITLESIZE 100 struct movie{char title[TITLESIZE];int year;}; void set_title(struct movie *mv, char str[]){strcpy(mv->title, str);} void set_year(struct movie *mv, int y){mv->year = y;} void print_movie(struct movie *mv){printf("タイトル:%s 公開年:%d\n", mv->title, mv->year);} int main(void){struct movie movie1 = {"HAYABUSA", 2011};print_movie(&movie1); set_title(&movie1, "WarGames");set_year(&movie1, 1983); /* ←ネタが思いつかんかった */ printf("書き換えました\n");print_movie(&movie1);return 0;}
448 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 15:14:56.98 ] /* >>441 */ #include <stdio.h> #include <stdlib.h> int main(void) { double a, b, c, d, oldc, oldd; FILE *fin = fopen("q.txt", "r"); FILE *fout = fopen("a.txt", "w"); if (fin == NULL || fout == NULL) { fprintf(stderr, "ファイルが開けないよ\n"); exit(2); } fscanf(fin, "%lf %lf %lf %lf", &a, &b, &oldc, &oldd); while (fscanf(fin, "%lf %lf %lf %lf", &a, &b, &c, &d) == 4) { fprintf(fout, "%lf %lf\n", c - oldc, d - oldd); /* ←自分で調整してちょ */ oldc = c; oldd = d; } fclose(fin); fclose(fout); return 0; }
449 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 15:18:42.89 ] >>442 そういうもんでもないだろ
450 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 15:31:44.48 ] あ、fprintf()ん中の%lfは%fだったわ。。。orz
451 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 16:14:56.24 ] pgm形式ですか・・・テキストファイルで読み込めます? 先頭の4行は次のような、形でしょうか。 ---次の行から P1 # comment 100 200 256 ---上の行まで。 pgmファイルの読み書き習っているなら、そのプログラムを提示してくれれば組める。
452 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 16:27:41.78 ] そういう時はやらなければいいんだよ。やれないってことだから。
453 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 16:50:10.02 ] >>452 足引っ張ることしかできんのかお前は。
454 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 16:52:21.20 ] どうせまともなのが出来るわけないんだから printf("Hello World\n"); でいいんじゃね?
455 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 16:54:25.70 ] とりあえず、P2を読めるプログラム今書いてるけどねー。 標準画像のlenaさんてプレイボーイのグラビアだったのねー・・・。
456 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 17:32:14.74 ] >>441 ありがとうございます
457 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 18:13:32.24 ] >>455 だよ。顔だけばっかりみるけど
458 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 18:23:07.99 ] [1] 授業単元:配列とポインタ [2] 問題文(含コード&リンク):1,2,3,4,5,6...と続くテキストファイルを読み込み、8×8の2次元配列で表し、別のテキストファイルに結果を書き込みなさい。ただし、読み込むファイルのデータの数が64個に満たない場合は、0を代入しなさい。 [3] 環境 [3.1] OS: linux debian [3.2] コンパイラ名とバージョン: gcc4.3.2 [3.3] 言語:C言語 [4] 期限: 12月12日 14時 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
459 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 18:49:44.75 ] >>458 ttp://ideone.com/NgsDq
460 名前:458 mailto:sage [2011/12/11(日) 20:14:13.09 ] >>459 Error: 'for' loop initial declaration used outside c99 mode というエラーがでます。
461 名前:466 [2011/12/11(日) 20:36:43.47 ] [1]再起的関数 [2]10×10の二次元配列を用意し、□か■を適当に格納し■が上下左右に連続してマークされた要素の集まりを島と呼び島の個数を数える(関数の再起処理を使用) 3] 環境 [3.1] Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++ [4] 期限: 2011年12月11日24時 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
462 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 20:49:03.00 ] >>460 C99より前のバージョンのC言語は、ローカル変数の宣言は全てコードブロックの一番前で 行わなければならないからね。 for ( int j = 0; j < 8; j++ ){ の部分を int j; for ( j = 0; j < 8; j++ ){ にすればいいんじゃないかな? ついでにFILE *fp = fopen(in_file, "rb");の行も、gets(in_file);の前にFILE *fp;をおいて、 もともとの場所はfp = fopen(in_file,"rb");に置き換える必要もあるし…。 それかC99モードでコンパイルするのが一番いいかもしれないね。どうすればいいかは、 それくらい調べた方がいいかも。
463 名前:459 mailto:sage [2011/12/11(日) 20:51:24.48 ] >>460 つ -std=c99
464 名前:458 mailto:sage [2011/12/11(日) 21:00:40.66 ] >>463 ありがとうございます。 -std=c99試しましたがまだエラーがでます。
465 名前:458 mailto:sage [2011/12/11(日) 21:01:22.26 ] >>462 ありがとうございます。 教えていただいた通り、書き換えましたがコンパイルできません。
466 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 21:07:59.17 ] >>465 エラーメッセージ貼れよバカ
467 名前:458 mailto:sage [2011/12/11(日) 21:11:24.58 ] >>466 In function 'main' warning: the `gets' function is dangerous and should not be used です。
468 名前: ◆QZaw55cn4c mailto:sage [2011/12/11(日) 21:15:59.42 ] >>465 ideone.com/x4K0I 書き直しただけ。
469 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 21:18:22.59 ] 警告ですな。まー宿題レベルなら問題ない。 gets()は(配列の長さを知らないでメモリを壊すので)危ないから、使わないでねというやつ。
470 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 21:20:08.71 ] >>461 codepad.org/AtEkOEgr
471 名前:466 [2011/12/11(日) 21:32:31.82 ] [1]再起的関数 [2]10×10の二次元配列を用意し、□か■を適当に格納し■が上下左右に連続してマークされた要素の集まりを島と呼び島の個数を数える(関数の再起処理を使用) 3] 環境 [3.1] Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++ [4] 期限: 2011年12月11日24時 [5] その他の制限: 標準ライブラリは使ってはいけない,再起関数までしか習っていない、
472 名前:デフォルトの名無しさん [2011/12/11(日) 21:32:36.14 ] 【質問テンプレ】 [1] 授業単元:C言語 [2] 問題文(含コード&リンク):textfileの1行を読み込み、1次元配列にバッファリングしたものの1部をスペースが出るまで 別の二次元配列に格納せよ。 テキストファイルに書かれている内容は AA 1,2,3,4,5; ・・・ です。 のようにAAと数字の間は1スペース開いています。 AA 2,3,4,5;の1行だけをバッファリングすることが できました。AAの文字のみを別の二次元配列に格納するにはどうすればよいか? [3] 環境 [3.1] OS: (Windows/Linux/等々)windows [3.2] コンパイラ名とバージョン:制限なし [3.3] 言語: (C/C++/どちらでも可 のいずれか)C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 2011年12月15日まで [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) なし。 1次元配列に格納するところまではできたのですが、そこから先に進めないので、 お願いします。
473 名前:458 mailto:sage [2011/12/11(日) 21:35:20.09 ] >>469 warningは出ますが実行ファイルは出来たので、./で実行しましたが何も起きません。 gets()を使わない方法を知っていたら教えてくれませんか?
474 名前:466 [2011/12/11(日) 21:36:24.86 ] 1]再起的関数 [2]10×10の二次元配列を用意し、□か■を適当に格納し■が上下左右に連続してマークされた要素の集まりを島と呼び島の個数を数える(関数の再起処理を使用) #include<iostream> #include<string> using namespace std; const int size_y=10; const int size_x=10; ここにプログラムを書く int main() { string map[size_y][size_x]={ {" "," "," "," "," ","#"," "," ","#","#"}, {" "," "," "," "," "," ","#"," ","#","#"}, {" "," "," ","#","#","#"," ","#"," "," "}, {" "," ","#","#"," ","#"," "," "," "," "}, {" "," "," ","#"," "," ","#"," "," "," "}, {" "," "," "," "," "," "," "," "," ","#"}, {" "," "," "," ","#"," "," "," "," "," "}, {" "," ","#"," "," ","#"," "," "," ","#"}, {" "," ","#","#"," ","#"," "," "," ","#"}, {"#"," "," "," "," "," "," "," "," "," "}}; print_map(map); ここにプログラムを書く return 0; } ここにプログラムを書く 3] 環境 [3.1] Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C++ [4] 期限: 2011年12月11日24時 [5] その他の制限: 標準ライブラリは使ってはいけない,再起関数までしか習っていない、
475 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 21:42:05.65 ] >>472 2度手間になるから、できたところまでのソースくださいな
476 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 21:52:09.40 ] >>473 実行時に説明文とか出力してないから実行しても何も動作してないように見えるが、 入力ファイル エンター 出力ファイル エンター ってすれば最後まで処理走るよ、 文字列入力使わないってニュアンスでgets()以外の方法ってんなら、 後はmain()の引数argvにファイル名を持たせるとか、いっその事ファイル名もコードに決め打ちとか まあ自分でprintf文で説明文埋め込んだりして使用者の事考えるのもいい勉強になるよ
477 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 21:53:26.77 ] >>473 gets(in_file) ↓ fgets(in_file, sizeof(in_file), stdin) ・・・まあテキトーにコト書いてて、試してないが。
478 名前:458 mailto:sage [2011/12/11(日) 21:59:31.11 ] >>476 ありがとうございます。 10,15,20...とかだと上手く結果が出ません。 また、新しいファイルに書き込まれるものが、1,2,3,4,5,6,...とただ続くものになってしまいます。 新しいファイルには8×8の配列で書き込んで欲しかったのですが。
479 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 22:05:07.17 ] >>474 おー、AOJでやったなぁ…どれどれ、問題0067だな( ´∀`) >[5] その他の制限: 標準ライブラリは使ってはいけない むちゃいいうなよ(´・ω・`)
480 名前:466 [2011/12/11(日) 22:12:46.41 ] >>479 すいません標準ライブライの意味がよくわかりません。 ここにプログラムを書くの所を埋めるかんじです。
481 名前:432 mailto:sage [2011/12/11(日) 22:18:52.45 ] >>451 それがpgmファイルの読み書きは習ってないんです
482 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 22:30:55.07 ] >>432 こんなカンジのでえーのん? ttp://loda.jp/kng311tt/?id=75 これはpngだけど。
483 名前:472 [2011/12/11(日) 22:41:16.66 ] #include<stdio.h> #include <string.h> FILE *fp; char buffer[1000]; char name[100][10]; char list[50]; int b,n1,n2,a1,a2,list; int main(void){ if((fp=fopen("text.txt","r"))==NULL){ printf("error!\n"); exit(1); } n1=0; n2=b; while((buffer[b]=getc(fp))!=';'){ printf("%s",buffer); } for(b=0;b<1000;b++){ if(buffer[b]==' '){ b=b+1; } else{ strcpy(name[n1][n2],buffer[b]); }} printf("name:%s",name); fclose(fp); return 0; }
484 名前:479 mailto:sage [2011/12/11(日) 22:51:12.74 ] >>474 ,480 今日の24時までという大変厳しい条件ゆえ、 過去につくったものをそのまま流用したが、 問題あったら他にも作ってくれる人いるだろうからそっちを使ってね(´・ω・`) codepad.org/yLSJHvP9
485 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 23:11:28.45 ] /* >>472 >>483 できるだけ崩さずにやってみた */ #include <stdio.h> #include <string.h> #include <stdlib.h> FILE *fp; char buffer[1000]; char name[100][10]; int n1; int main(void){ int i; if((fp=fopen("text.txt","r"))==NULL){ printf("error!\n"); exit(1); } for (n1 = 0; fgets(buffer, sizeof(buffer), fp); n1++) sscanf(buffer, "%s", name[n1]); for (i = 0; i < n1; i++) printf("name:%s\n",name[i]); fclose(fp); return 0; }
486 名前:472 [2011/12/11(日) 23:15:07.91 ] ありがとうございます。
487 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 23:23:47.08 ] レナたん www.lenna.org/full/l_hires.jpg 「Muirheadは、100ライン/インチの固定解像度を持っていたが、彼らは512×512イメージを望んだた め、走査を画像のトップ5.12インチに制限したので、ちょうどモデルの肩で画像が切れてしまったとい うわけさ」 「1997年のSociety for Imaging Science and Technology 50周年記念会議にゲストとして招かれた。 彼女はサインをし、写真撮影に応じ、自己紹介をするなど非常に多忙であった。」 「現在ストックホルム近郊にすみ、政府所有の酒専売店で働いている。彼女は結婚しており、3人の子 供たちがいる。」
488 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 23:26:55.67 ] C++で、ファイルオープン使って画像ファイルを読み込むことはできますか? コンソールアプリケーションで書いているんですが、無理ですかね??
489 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 23:31:15.09 ] >>488 できるよ jpeg とかは自分でデコードしようとすると大変だけど
490 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 23:38:57.16 ] ああ、lennaタンか。lenaと勘違いをしてた(^^;; 画像ファイルを扱うのは既存のライブラリ使うのが楽そうですけどねぇ。 Cだったら日本語の説明でImageMagicの使い方とかありそう。 とか言いつつ、PNMのP2とP5の読み込み「だけ」できるの作ったけど。 エラーチェックが酷いので晒せないわ。 暇つぶしになりました。おやすみー。
491 名前:472 [2011/12/12(月) 00:59:22.29 ] 472のものですが、問題はname[n1][n2]という二次元配列に格納するプログラム です。 name[n1]は1次元配列ではありませんか?
492 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 01:00:12.38 ] >>490 もしかして16時ごろからやってた人? まぁ、勉強になったならいいか
493 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 01:15:21.10 ] >>491 for(i...の前にさ printf("%c\n", name[0][0]); ってのつけたしてみるとよいかもですね。 2次元配列中にちゃんと最初の文字入ってるでしょ?
494 名前:472 [2011/12/12(月) 01:21:25.52 ] ありました。 ありがとうございます。
495 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 04:40:06.25 ] >>432 ideone.com/U9X05
496 名前:495 mailto:sage [2011/12/12(月) 05:12:20.15 ] 補足:一連の書き込みの人とは別人ですのであしからず。
497 名前:495 mailto:sage [2011/12/12(月) 06:19:15.57 ] >>495 すまない。バグ有りだった。 ラプラシアンの分岐忘れ修正。ついでに全方向化。 ideone.com/6M17y
498 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 07:21:26.25 ] 民主党のマニフェスト 子供手当満額、公務員制度改革、最低時給1000円、消費税据置、高速道路無料化 小沢一郎 総理大臣なら全部やってくれるんじゃ!?!
499 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 11:18:11.49 ] で、それがどうCの宿題として出題されたんだ?
500 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 11:32:52.41 ] 過去の発言、撤回の履歴から、今喋ってる事の信頼性を推定せよ、とかだったら有るかも。 政治学、社会学あたりかな。
501 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 15:24:51.36 ] [1] 授業単元:配列とポインタ(アルゴリズム) [2] 問題文(含コード&リンク):以下の実行例のように,文字列を入力すると,その前 後に"を付けた文字列を生成するプログラムを,ライブ ラリ関数strcpy とstrcat を用いて作成せよ.ただし, プログラムは以下の要件を満たすこととする ・ユーザに入力させる文字列を格納する配列をstr1[],前後に"を付けた文字列のための配列をstr2[] とする. ・ユーザに入力させる文字列は30 字までとする。 ・配列str2[] は初期化せずに宣言し,ライブラリ関数strcpy とstrcat を使って(添字演算子[] を使わずに)前後に"を付けた文字列を生成すること. 実行例. 文字列を入力してください:Tokyo 文字列の前後に"を付けました。 str2:"Tokyo" [3.1] OS: linux debian [3.2] コンパイラ名とバージョン: gcc4.3.2 [3.3] 言語:C言語 [4] 期限: 12月13日 14時 [5] その他の制限:
502 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 15:38:51.14 ] char str1[30+1]; char str2[30+1+2]; /* str1 入力処理略 */ strcpy(str2, "\""); strcat(str2, str1); strcat(str2, "\""); printf("文字列の前後に\"を付けました。\nstr2:%s\n", str2);
503 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 16:28:07.06 ] >>458 ,478 ideone.com/wX9hl
504 名前:デフォルトの名無しさん [2011/12/12(月) 19:05:02.15 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 0から16までの整数を2進数変数で表記した時, 2^2 の桁の値を表示するプログラムを作成せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 無期限 [5] その他の制限: 特になし あまり難しくない表記で
505 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 19:15:36.38 ] printf("0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0\n");
506 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 19:17:34.72 ] >>504 ^ってCでは排他的論理和だが、ひょっとして意図は階乗?
507 名前:デフォルトの名無しさん [2011/12/12(月) 19:26:49.39 ] >>506 階乗のつもりでした、すみません。
508 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 19:29:06.21 ] >>504 ,507 #include <stdio.h> int main() { int i; printf("元の数¥t2^2 の桁の値¥n"); for(i=0; i<16; i++) printf("%d¥t%d¥n",i,(i/4)%2); return 0; }
509 名前:デフォルトの名無しさん [2011/12/12(月) 19:37:04.18 ] >>508 どうもありがとうございます!
510 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 20:10:16.24 ] 【質問テンプレ】 [1] 授業単元:バケツソート(アルゴリズム) [2] 問題文(含コード&リンク): codepad.org/04CeYgrq [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: 12月15日 [5] その他の制限: リンク先のコードの訂正をお願いします。
511 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 22:15:10.06 ] >>510 負の整数は考慮不要?
512 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 22:25:57.66 ] 511>> はい。 正の整数のみで4桁目は1~9で始まる仮定でお願いします。
513 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 22:39:48.38 ] >>501 ですポインタでプログラム作成してください おねがいします。
514 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 23:33:25.09 ] >>510 ideone.com/hqvDj
515 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 23:38:35.99 ] >>501 ,513 >>502 ではないが、mainを付加した。 >>501 ですポインタでプログラム作成してください strcpy, strcatを使ったら、ポインターは不要だが? #include <stdio.h> #include <string.h> int main() { char str1[30+1]; char str2[30+1+2]; printf("文字列を入力してください:"); scanf("%s",str1); strcpy(str2, "¥""); strcat(str2, str1); strcat(str2, "¥""); printf("文字列の前後に¥"を付けました。¥nstr2:%s¥n", str2); return 0; }
516 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 23:46:42.89 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):www1.axfc.net/uploader/Sc/so/300238 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2011年12月13日18:00まで [5] その他の制限:できれば高度な記述ではなく簡単な記述をしていただけたら有難いです
517 名前:デフォルトの名無しさん [2011/12/12(月) 23:52:37.86 ] [1] 授業単元:誤差 [2] 問題文(含コード&リンク): ideone.com/hdkMd 問題1と問題2の誤差は、それぞれ 桁あふれ、打切り誤差、丸め誤差、桁落ち、情報落ち のうちどれか。 また、問題2については誤差がない場合に本来期待される演算結果との比較も行え。 [3] 環境 [3.1] OS: unix [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: c
518 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 23:57:15.63 ] img.pics.livedoor.com/012/d/6/d6f87fce733d70932354-1024.png mamorenihon.files.wordpress.com/2011/09/kao-demo1.jpg blog-imgs-34.fc2.com/d/e/l/deliciousicecoffee/201108040637592d3.jpg tantawan.blog.so-net.ne.jp/_images/blog/_13f/tantawan/E88AB1E78E8BE4B88DE8B2B7-18690.jpg stat.ameba.jp/user_images/20110820/18/lisa-w-paz/07/00/j/o0500032111430159404.jpg livedoor.blogimg.jp/news30over/imgs/c/3/c3860b80.jpg
519 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 00:24:29.93 ] >>516 ideone.com/fgnoj
520 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 02:04:50.62 ] >>510 R[i]の代わりに、Q[i][0]を使った参考バージョン。 ideone.com/m6Je0
521 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 03:56:47.54 ] >>506-507 スレチだが言っておく ^は普通べき乗を表す 階乗は!と書く
522 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 04:00:05.19 ] ^がベキ乗とか!が階乗とかってBASIC文化っぽくて好きじゃない
523 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 04:08:22.68 ] >>517 オーバーフロー、アンダーフロー 「桁あふれ」でいいんじゃね? signed char v; unsigned char w;
524 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 04:08:36.97 ] >>522 アホか
525 名前:523 mailto:sage [2011/12/13(火) 04:13:53.98 ] 途中で送っちゃった 正しい結果との比較は signed char v; unsigned char w; をint型で書き換えること。 なんか問題の意図がよくわからんなあ。
526 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 23:19:48.68 ] [1] 授業単元:プログラミング言語T [2] 問題文(含コード&リンク):m行n列のテキストファイル(1.txt)をそれぞれ二次元配列に入れ、その配列から新しいテキストファイル(2.txt)に1.txtと同じ内容を出力するようなプログラムを作成せよ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC 2008 [3.3] 言語:C [4] 期限:2011年12月14日 [5] その他の制限:制御文・入出力・配列・ポインタ程度しか習っていないため、 複雑な演算子や構造体などを用いないシンプルな記述でお願いします。
527 名前:デフォルトの名無しさん [2011/12/14(水) 01:12:32.19 ] >>525 wの誤差がない場合の本来の値は ー100,ー200,ー300ですか?
528 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 03:25:56.62 ] >>526 m,nは画面から入力? テキストの最大長は?
529 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 14:09:06.76 ] >>526 何時まで?配列は整数? 区切り文字は? 配列の幅は固定? 仕様適当で「シンプルに」とか自分の要求まで入れて舐めてるの?
530 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 15:03:11.00 ] >>529 > 配列は整数? 区切り文字は? この疑問が出る時点で想定してる内容と異なるものだろうと予測。 多分ただのテキストファイルだよ。
531 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 15:10:06.62 ] >>530 何言ってるんだお前は。デリミタ無かったらバイナリだろ。
532 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 15:11:43.33 ] >>526 ideone.com/ngLgv 設定と入力のお好きな方をどうぞ
533 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 15:16:49.07 ] 空白区切りもただのテキスト?
534 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 15:34:12.23 ] >>526 n文字の文字列がm個? それとも、ある程度の長さの文字列がm*n個?
535 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 17:45:27.28 ] >>514 >>520 回答ありがとうございました。 剰余算とポインタがいまひとつわかりませんが、 自分なりに考えて見ます。
536 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 20:26:23.29 ] >>535 >剰余算とポインタがいまひとつわかりませんが、 例:数値4567から、 1回目:7を得たい ← (4567/1)%10 = 4567%10 = 7 2回目:6を得たい ← (4567/10)%10 = 456%10 = 6 3回目:5を得たい ← (4567/100)%10 = 45%10 = 5 4回目:4を得たい ← (4567/1000)%10 = 4%10 = 4 上記式中の、/1、/10、/100、/1000を、/xとして int x=1; ループ{ ... x*=10; .... }
537 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 20:36:25.21 ] >>535 >ポインタ 520で、Q[i]は Q[i][0] ← R[i}の代わり。 Q[i][1〜31]にはデータが入る。 QをLIFOにしたため、F[i]が不要になった。
538 名前: ◆QZaw55cn4c mailto:sage [2011/12/14(水) 21:14:56.22 ] >>532 >if( x < n ){ fprintf(fp," "); この文、意図どおりに動いているか? x < n - 1 では? >return (-1); なぜ括弧でくくる? >fprintf(fp," "); >fprintf(fp,"\n"); fputc() を使いたい。
539 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 21:39:42.41 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク):www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4940 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 2011年12月16日 よろしくお願いします。
540 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 21:41:34.80 ] >>538 >>if( x < n ){ fprintf(fp," "); >この文、意図どおりに動いているか? x < n - 1 では? これは確かにそうですね。修正しました。どうもです。 ideone.com/L3AXc >なぜ括弧でくくる? 見やすいと思いまして。 >fputc() を使いたい。 そうですか。
541 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 21:48:10.07 ] >>539 むしろその掲示板ってどっからたどり着くの?
542 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 21:51:29.81 ] >>388 をお願いできませんでしょうか 分散などはOpenCV自体の関数だけで事足りるので大丈夫だったのですが 直接画素を触らなければならない最頻値などがどうにもうまくいきません
543 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 22:33:16.04 ] >>542 画素はRGB24bit?
544 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:45:44.91 ] >>543 はい、その通りです 予めビットマップとして取得してあります
545 名前:デフォルトの名無しさん [2011/12/14(水) 23:48:10.90 ] [1] 授業単元:C++ [2] 問題文:キーボードから元金、返済回数(月数)、利率(年利)を入力し、元金均等払いの1回から指定回数までの支払額、利息、残高を表示する。 s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/img/268.pdf [3] 環境 [3.1] OS:(Windows [3.2] コンパイラ名とバージョン:VC2010 [3.3] 言語: C++ [4] 期限: 12月16日 pdfで大変申し訳ないんですがよろしくお願いします。
546 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 00:09:18.74 ] >>545 アクセスが許可されていません。 以下の理由が考えられます。 ・外部から直接呼び出された場合 ・リファラーが返されていない場合 ・indexファイルが存在していない場合 ・適切なパーミッション(属性)が与えられていない場合 9秒後に、自動的に 無料でEタウン に戻ります。 Sorry, Access is not admitted. The following reasons are thought about. .When there is not an index file .When it was called directly by the outside .When appropriate access permission (an attribute) is not given
547 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 00:10:54.13 ] >>539 ideone.com/DXDaD
548 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 00:14:52.72 ] 法政のやつかな 申し訳ないと思うならそれくらい手打ちしたらどうだ
549 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 00:28:02.99 ] >>546 >>1 を見て s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi ここからDLしろ
550 名前:545 mailto:sage [2011/12/15(木) 00:32:34.16 ] pdfの中身を打つと 元金?20000 回数(月数)?15 利率(%)?5 回数 支 払 額 利 息 残 高 1 14171 833 186662 2 14110 777 173329 3 4 5 6 7 ・ ・ ・ 8 ・ ・ ・ 9 ・ ・ ・ 10 11 12 13 14 15 0 合計 206659 6659 続行するには何かキーを押してください こんな感じのプログラムを作る課題がでました .>>548 法政です!びっくりしました
551 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 00:57:13.83 ] >>545 法律上の計算はわからん。 ideone.com/4x8Bg
552 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 01:02:09.98 ] >>551 うおおおありがとうございます!!!!
553 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 01:16:39.78 ] >>547 ありがとうございます!助かりました。
554 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 01:51:51.45 ] >>544 ゴリ押しでならどういう手順の処理かは分かるけど、 さすがにCは面倒すぎだわ。
555 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 03:32:37.59 ] 総相 川端達夫 帰化人。 在日韓国人法的地位向上議員連盟 法相 平岡秀夫 帰化人。 在日韓国人法的地位向上議員連盟 文科相 中川正春 在日韓国人法的地位向上議員連盟 厚労相 小宮山洋子 帰化人。 在日韓国人法的地位向上議員連盟 自身の選挙区の太平建設と談合 国家戦略相 古川元久 パチンコ協会政治アドバイザー
556 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 11:20:28.26 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 氏名、体重、身長の入力を受けつけ、ファイル に書き込むプログラムをかけ。 [3] 環境 [3.1] Windows [3.2] visual C++2005 [3.3] C [4] 2011/12/22
557 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 12:47:30.20 ] >>556 入力の形式と出力ファイルの形式は?
558 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 12:51:04.82 ] 適当に決めてもらっていいです
559 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 15:29:21.33 ] >>556 ideone.com/qJ8v0
560 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 18:51:53.83 ] >>544 vc未確認 ideone.com/89sZm
561 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 23:25:23.59 ] >>559 ありがとうございました!
562 名前:デフォルトの名無しさん [2011/12/16(金) 11:15:59.57 ] [1] プログラミング実習応用 [2] ファイル"tmp.csv"を入力ファイルとして、座標(x,y)の組を終端まで読み込み、 x,yそれぞれの平均値(重心)を計算して、画面上に表示するプログラムを作成せよ □"tmp.csv"は「関数y=x^3-xのグラフを描くため、定義域[-2,2]に対するyの値を0.1刻みで計算し、 結果をファイルに出力する」というプログラムで作ったファイルで、もう用意してあります。 □コンパイラの標準外の仕様による異常終了を避けるため、変数の宣言部分にダミーの変数を追加する。例えば、"double dummy=0.0;"(変数名や値は変えてよい) [3] 環境 [3.1] Windows7 [3.2] VC2010 [3.3] C [4] 2011年12月16日22:00まで よろしくお願いします
563 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 13:06:08.01 ] VC2010にそんなバグがあんの?
564 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 19:03:13.02 ] >562 tmp.csvのうpよろ。
565 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 19:14:05.76 ] 異常終了の原因は 配列の領域外をアクセスしたか 初期化していないポインタを使ってるんだろう
566 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 19:23:58.88 ] 誰か俺にダミー変数の必要性を教えてくれ
567 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 19:38:49.98 ] >>566 ソースコードをパクられても決まった手順、コンパイラ、オプションでないと使えないようにできる
568 名前:>>562 [2011/12/16(金) 20:53:12.61 ] >>564 遅れてすいません 多少期限すぎても大丈夫です あと//で軽い説明・解説つけてくれると嬉しいです #include<stdio.h> double f(double x){ return x*x*x - x; } int main(){ FILE *fp; double x; fp = fopen("tmp.csv","w"); if (fp == NULL){ printf("File creation error.\n"); return -1; } for (x=-2.0; x<=2.0; x+=0.1){ fprintf(fp, "%lg,%lg\n",x,f(x)); } fclose(fp); return 0; }
569 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 21:50:02.71 ] >>568 > コンパイラの標準外の仕様による異常終了 どゆこと? #include<stdio.h> int main(){ FILE *fp; int count = 0; double sum[2] = {0,0}, value[2] = {0,0}; fp = fopen("tmp.csv","r"); if (fp == NULL){ printf("File open error.\n"); return -1; } while( fscanf(fp,"%lg,%lg\n",&value[0],&value[1]) == 2 ){ sum[0] = sum[0] + value[0]; sum[1] = sum[1] + value[1]; count++; } printf("%lg,%lg\n",sum[0]/count,sum[1]/count); } fclose(fp); return 0; }
570 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 21:51:31.40 ] 括弧多かった。 int main(){ FILE *fp; int count = 0; double sum[2] = {0,0}, value[2] = {0,0}; fp = fopen("tmp.csv","r"); if (fp == NULL){ printf("File open error.\n"); return -1; } while( fscanf(fp,"%lg,%lg\n",&value[0],&value[1]) == 2 ){ sum[0] = sum[0] + value[0]; sum[1] = sum[1] + value[1]; count++; } fclose(fp); printf("%lg,%lg\n",sum[0]/count,sum[1]/count); return 0; }
571 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 22:07:52.71 ] >568 俺の環境だとx=2のときの出力がないから、 #define EPS 1e-9 とかして、 for(x=-2.0-EPS; x<=2.0+EPS; x+=0.1) ってやった方がいいんじゃないかなあ。 最善策かどうかは分かんないけど。
572 名前:デフォルトの名無しさん [2011/12/16(金) 22:12:52.04 ] >>569 ありがとうございます 多分それはあんま関係ないです… 重心って0,0じゃなくてもいいのですか?
573 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 22:13:55.57 ] >>571 ループさせたい回数が決まってるなら普通は int を使う
574 名前:デフォルトの名無しさん [2011/12/16(金) 22:19:53.18 ] >>571 今みたら俺がつくったtmpのエクセルにもX=2がありませんでした でも俺のエクセルでもX=2がでないってことは俺のもそういう仕様ってことですか?
575 名前:571 mailto:sage [2011/12/16(金) 22:26:22.39 ] >574 いや、>573が良いことを言ってる。 #include<stdio.h> double f(double x){ return x*x*x - x; } int main(){ FILE *fp; int xx; fp = fopen("tmp.csv", "w"); if(fp == NULL) { printf("File creation error.\n"); return -1; } for(xx=-20; xx<=20; xx++) { fprintf(fp, "%lg,%lg\n", xx/10., f(xx/10.)); } fclose(fp); return 0; }
576 名前:デフォルトの名無しさん [2011/12/16(金) 22:45:45.98 ] ありがとうございました(^-^)
577 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 23:03:40.39 ] >>560 ありがとうございます、非常に助かります
578 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 01:50:08.39 ] こういう書き方をしても問題無いでしょうか? if(num>0 && Aray[num-1]=="hoge") もしnumが0だった場合Aray[num-1]は存在しないのですが。
579 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 02:01:09.30 ] >>578 if(num) だけでいい。
580 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 02:03:47.97 ] >>579 num = -1 とかで困る。
581 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 02:10:30.21 ] >>578 1.num>0 を先にチェックするから概ねokだが念のため上限チェックもした方がいい。 2.Aray[num-1]=="hoge" ではなく、strcmpな。 3.コンパイルエラーが無いソースで質問してくれ。 #include <stdio.h> #include <string.h> int main(){ int num = 0; char Aray[10][10]; if (num > 0 && num < 10 && strcmp(Aray[num - 1], "hoge")) { printf("%p¥n", Aray[0]); printf("%p¥n", Aray[-1]); } return 0; }
582 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 02:30:50.10 ] C++の string なんじゃねぇの?
583 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 02:34:39.14 ] >>580 そうだった、すまん。
584 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 08:39:12.36 ] >>582 それか、(めったにないけど) ポインタ値そのものを比較したいのかもしれない。
585 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 11:16:28.97 ] 有り得んわ、"hoge" のアドレスには何の意味も無いもん
586 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 11:20:23.85 ] >>584 ポインタ値の比較は普通にやる事だし、 ポインタと文字列リテラルの比較はありえない。
587 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 12:04:18.03 ] コンパイラにリテラルがまとめられて同じアドレスになるのを確かめるプログラムかもしれないだろ
588 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 14:19:03.31 ] [1] 授業単元:計算機アルゴリズムT [2] 問題文(含コード&リンク): 設問1-1 大域変数x,yは初期値が0.0に自動的に設定されるが、局所変数a,bはそうではないことを確かめるために、 プログラム例10.4.1とプログラム例11.3.1に適当なprintf文を挿入しなさい。 プログラム例10.4.1 ttp://www.dotup.org/uploda/www.dotup.org2390035.txt.html プログラム例11.3.1 ttp://www.dotup.org/uploda/www.dotup.org2390042.txt.html 設問1-2 プログラム例11.3.1を、大域変数を使わずに局所変数と引数によるデータの引渡しを使うプログラムに書換えなさい。 プログラム例11.3.1 ttp://www.dotup.org/uploda/www.dotup.org2390042.txt.html [3] 環境 [3.1] OS:Windows vista [3.2] コンパイラ名とバージョン:visual studio 2008 [3.3] 言語:C [4] 期限:[2011年12月21日8:00まで] [5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文 繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数 条件分岐if文、要素番号idx使用の書換、データの入れ替え 条件分岐・論理演算子を用いたif文の条件、if文、else if文 switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義 引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法 関数から関数を呼び出す方法、大域(global)変数、局所(local)変数は習いました。 宜しくお願いします。
589 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 16:06:27.91 ] 全部習っててワロタ 日本語が理解できなくて困ってんのかな
590 名前:589 mailto:sage [2011/12/17(土) 16:11:59.94 ] >>588 1-1 結果は環境依存 ideone.com/2mtbx 1-2 ideone.com/3F1gO
591 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:27:13.91 ] >>590 設問1-1のプログラム例11.3.1の方もお願いします。
592 名前:589 mailto:sage [2011/12/17(土) 17:41:35.98 ] やめちまえ
593 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:50:29.59 ] >>592 そこを何とかお願いします
594 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:06:00.28 ] [1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク):0.123,1,12,150...と続く「1.txt」と6,13,25,10...と続く「2.txt」がある。 1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし、3.txtに結果を書き込むプログラムを作りなさい。 [3] 環境 [3.1] OS:linux [3.2] コンパイラ名とバージョン:gcc4.3.2 [3.3] 言語: C言語のみ [4] 期限: 12月19日14時 [5] その他の制限: 特にありません。
595 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:14:04.22 ] >594 0割りの考慮は要る?
596 名前:594 mailto:sage [2011/12/17(土) 18:21:58.53 ] >>595 すみません。 0割りの考慮って何ですか?
597 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:25:21.61 ] >>596 1÷0はいくらだ?
598 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:59:18.80 ] >>587 そういうのって割りと何度か確かめるよなw
599 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 19:14:34.84 ] >>594 あのな数値を0でわれば∞になるだろ? 知らんのか? 高校で習ったろ?
600 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 19:59:49.58 ] >>599 >あのな数値を0でわれば∞になるだろ? ならないし。
601 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 20:25:13.24 ] 0で割った解は定義できない C言語的には例えば浮動小数点ならNaNか無限大の特殊な数になる
602 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 20:32:58.55 ] >あのな数値を0でわれば∞になるだろ? さすがIT土方wwwwwwwwwwwwww
603 名前:599 mailto:sage [2011/12/17(土) 20:36:31.61 ] >>600 数学的には∞として、扱うだろ 1/0.1=10 1/0.01=100 1/0.001=1000 ・・・ x/0 ≒ ∞
604 名前: ◆QZaw55cn4c mailto:sage [2011/12/17(土) 20:46:24.17 ] >>603 扱わない。 0×a = 1 をみたす a は「存在しない」というのが正確だ。 数列の極限の状態をもって、実存するひとつの数であるかのように扱ったり代表させたりすることは、「普通は」しない。 ε-δでぐぐれ。
605 名前:599 mailto:sage [2011/12/17(土) 21:22:55.99 ] >>604 ググってみました。 なるほどね。 ε-δ 論法なんて、三流大学の電気電子 工学科では、おじさん習わなかった。 数学、物理がすきなおじさんには、良いことを 教えてもらった。
606 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:24:44.90 ] 0除算が数学的に未定義なのは大学出てるならまず知ってる事。 ただ基本的にプログラミングでは無限大って考えでいい。 型安全?の実装的にInifinityで扱う処理系もあるから。
607 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:29:16.88 ] 例えば?
608 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:31:17.59 ] >>606 >ただ基本的にプログラミングでは無限大って考えでいい。 だめだろ。 >型安全?の実装的にInifinityで扱う処理系もあるから。 浮動小数点はいざ知らず、整数で無限大なんて扱える処理系あるのか?
609 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:35:07.42 ] >>608 こういうJavaしか知らない馬鹿がよく釣れます。
610 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:42:44.09 ] >>607 >>608 JavaScript >浮動小数点はいざ知らず あるじゃん。
611 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:46:31.39 ] まさかこのスレで JavaScript キリ! なんてレス返す馬鹿がいるとは思わなかったよ。
612 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:47:15.37 ] >>611 ほらねw反例を提示できたのに馬鹿にするw その程度の知識なんですよお前らなんてw
613 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:54:14.78 ] はいはい、わかったから巣に帰れよ。
614 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 23:01:13.10 ] 浮動小数点数演算だと無限大になるよって言ってる時点で、 本来はおかしいことだって気づけ。
615 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 23:06:07.09 ] そんなもんとうにわかってると思うが、いまさらなに言ってるんだ?
616 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 23:09:40.54 ] 人を馬鹿にしてんだからこっちも馬鹿にするね。 JavaScriptすら知らない馬鹿w
617 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 23:32:47.19 ] どなたか>>588 の設問1-1のプログラム例11.3.1の方をお願いします。
618 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 00:13:08.10 ] windowsなら0除算はハードウェア例外で落ちるだろ
619 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 02:56:30.97 ] >>617 ideone.com/eP3Sq
620 名前:599 mailto:sage [2011/12/18(日) 03:06:36.68 ] >>588 確認て言っても、イニシャライズされてないものを 扱うとデバッグでエラーでるからな〜・・・
621 名前:594 mailto:sage [2011/12/18(日) 03:44:24.98 ] 遅くなってすみません。 1÷0は0でおねがいします。
622 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 04:45:23.93 ] >>603 極限としてはそう。 高校数学だけど、x->+0 x->-0という表記に記憶は? ただし、0で割ることはアウト。これはイコールじゃないんよ。
623 名前:599 mailto:sage [2011/12/18(日) 07:39:30.12 ] >>622 あー、あったねプラス側からとマイナス側からとのね おじさん34歳だから、だいぶわすれてんだよ
624 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 08:18:43.15 ] >>623 34でおじさんといわれてもこまってしまうのですが、はっ、hexですか‥‥
625 名前::デフォルトの名無しさん mailto:sage [2011/12/18(日) 08:58:29.34 ] [1] 授業単元:アルゴリズム(構造体) [2] 問題文(含コード&リンク):メンバとして学籍番号("C0110999"のような文字列) ,5 科目の点数(int 型整数の配列) ,平均点(double 型)をもつ構造体score を宣言し,score 型 構造体へのポインタsc を引数としてメンバの値を設定する関数void set_score_and_calc_ave(struct score *sc)を作成しプログラムを完成させよ。 ただし,構造体score と関数set_score_and_calc_ave については以下の要件を満たようにせよ。 [以下の要件] ・構造体の宣言において,5 科目の点数のメンバは5つのメンバを用意するのではなく,1 つのint 型配列とすること。 ・平均点のメンバについては,入力された5 科目の点数から関数set_score_and_calc_ave 内で平均点を計算して設定すること ・関数set_score_and_calc_ave 内で,ユーザに学籍番号と5 科目の点数を入力させること.その際,0〜100 の範囲の点数が入力されたかどうかのチェックも行わせる。 以下の実行例のように関数の動作を確認できるmain関数も作成せよ [実行例]: 学籍番号を入力してください:A12557 5 科目の点数(0〜100)を入力してください。 科目1 の点数:101 0 以上100 以下の点数を入力してください:-1 0 以上100 以下の点数を入力してください:0 科目2 の点数:100 科目3 の点数:88 科目4 の点数:77 科目5 の点数:66 データを設定しました。 学籍番号:A12557 平均点:66.2 点 科目1: 0 点 科目2:100 点 科目3: 88 点 科目4: 77 点 科目5: 66 点
626 名前::デフォルトの名無しさん mailto:sage [2011/12/18(日) 08:59:04.05 ] >>625 続き [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2011年12月19日18:00まで [5] その他の制限:できれば高度な記述ではなく簡単な記述をしていただけたら有難いです平均点のメンバについては,入力された5 科目の 点数から関数set_score_and_calc_ave 内で平均 点を計算して設定すること
627 名前:599 mailto:sage [2011/12/18(日) 09:33:08.54 ] >>624 ちゃうわ!
628 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 09:39:35.16 ] >>625 の問題 誰かやってやれよ しょっちゅう名前と五科目の点数と平均関係の 問題見るし、もう俺何回もこの関係のやつ アップしたし。 めんどくせ
629 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 09:52:28.87 ] >>616 >JavaScriptすら知らない馬鹿w かわいそうに… 知っててもスレ違いのところには書かないという、普通の対応もできないんだな。
630 名前:デフォルトの名無しさん [2011/12/18(日) 11:01:22.58 ] >>625 void set_score_and_calc_ave(struct score *sc, int* ponits) じゃないのか? 関数名から推測しただけだけど
631 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 12:26:19.11 ] 7月の段階で民主党が2兆円の復興予算を組んだとき 自民党が要請した復興予算は累計17兆円 自民党の17兆が7月時点でに決定されていたのなら 今の日本はもう少し違って居た筈だ ちなみに関東大震災のときは復興予算として現在の価値にして150兆円以上を組んでいた。 この事実を知れば、予算の規模の小ささ、ましてや増税なんて奇知涯にも程があると思わざる負えない。
632 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 12:29:31.25 ] で、それがどうC/C++の宿題として出されたんだよ
633 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 13:26:55.49 ] >>625 ideone.com/B8RUQ
634 名前:594 mailto:sage [2011/12/18(日) 13:48:10.82 ] どなたか、>>594 お願いします。
635 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 14:42:06.65 ] >>594 じゃぁ、その1.txtと2.txtを作って。 話はそれからだ。
636 名前:594 mailto:sage [2011/12/18(日) 14:57:46.17 ] >>635 s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
637 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 15:04:52.90 ] >>594 >>636 ウィルスバスタークラウド2012が 「このページは見んな」ってブロックした。 まともなところに上げなさい。
638 名前:594 mailto:sage [2011/12/18(日) 15:09:26.88 ] >>637 テンプレに載ってたところなんですけど、他にどこがいいんでしょうか?
639 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 15:14:55.30 ] >>594 codepad.org/ でPlain Textえらんで ファイル内容コピペすればいいじゃん
640 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 15:18:38.13 ] >>594 俺が、見ようっと
641 名前:594 mailto:sage [2011/12/18(日) 15:20:07.79 ] >>639 ありがとうございます。 これでいいですか? codepad.org/HOnlcBse 1.txt codepad.org/bq33JDAv 2.txt
642 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 15:39:26.21 ] >>594 codepad.org/NrxBdKKX codepad ではなぜ segmented violation が出るのだろう?
643 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 15:41:32.21 ] >>594 0割り対策追加 codepad.org/jq1PGPNv
644 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 15:49:08.84 ] >>594 >>643 は× codepad.org/DtMMhBjY
645 名前:622 mailto:sage [2011/12/18(日) 15:52:09.65 ] >>623 同い年なんだけど。
646 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 16:10:45.31 ] >>594 codepad.org/tk8YJWI1
647 名前:646 mailto:sage [2011/12/18(日) 16:26:49.70 ] >>622 いや、もう俺の脳みそつるつるだから
648 名前:594 mailto:sage [2011/12/18(日) 16:49:59.57 ] >>646 ありがとうございます。 すみませんが、1.txt 2.txt 3.txtなど読み込み、書きこみファイルを自分で自由に選択して使えるようにしてくれませんか?
649 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 17:14:41.67 ] >648 >1を100回読め。
650 名前:646 mailto:sage [2011/12/18(日) 17:19:40.44 ] >>648 codepad.org/oqK1nXXp これで良いの? 他にも方法はあるけど、めんどうなので、これで。
651 名前:594 mailto:sage [2011/12/18(日) 18:17:09.69 ] >>650 ありがとうございます。
652 名前::デフォルトの名無しさん mailto:sage [2011/12/18(日) 18:34:53.17 ] >>625 ですもう少し 簡単なソースコードお願いします スミマセン作ってもらったのに
653 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 19:17:48.65 ] >>652 ideone.com/YkuzO
654 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 19:19:34.98 ] あいかわらずQは自己満足のみを追求してるな >>625 ,652 ttp://codepad.org/uE8dXT00
655 名前:622 mailto:sage [2011/12/18(日) 19:32:41.70 ] 宿題の回答をするということを理解していないよね
656 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 19:36:26.17 ] ガン無視よりはマシだけど、仕様を満たせない時点で意味はないな。
657 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 20:17:32.01 ] いや、ガン無視の方がマシ。 あれを読まされることはデメリット
658 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 20:31:49.44 ] 自分が作りますって流れにしておいて、途中で投げ出す奴が一番最悪。 あいつも完全に自己愛だわ。
659 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 20:37:38.13 ] それも自己愛なん?ただのいたずらか、説明することによって理解するということを期待したレスかと思っていた。 自己愛って言葉はこのスレで恐ろしいほどの回数見たけどよくわからないまま。
660 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 20:45:15.99 ] >>659 自分も含め自己愛という言葉をレッテル張りに使う奴は自己愛。 軽い気持ちで調べるのはやめとけ。まじめな奴ほど精神病むから。
661 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 20:58:36.40 ] 責任云々が間違ってるんよ、 問題が出てきてやりたい奴がやるってスタイルでOK
662 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 21:10:52.52 ] 基本はそれでいいと思うけど、 裏に同時並行で作ってる奴がいるかもしれないって事は考えてほしい。
663 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 21:11:43.69 ] >>654 (^^;;;; 楽しくないとね。 >>656 仕様が満たせてないのですか? >>660 その点はご心配なくー。
664 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 21:13:36.87 ] >>662 別に複数が作ってたからってそれぞれが回答して問題ないし、私に限っていえば複数の解が出てくるほうが楽しいのですが。
665 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 21:15:57.17 ] なるほどね。その場のコンセンサスなんて考えるなと。 そりゃ仕様が満たせないわけだ。
666 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 21:29:35.22 ] >>665 え?どの仕様が満たせてなかったのですか?具体的に。 >その場のコンセンサスなんて考えるなと。 先に解けた人がどんどんコードを提示すればいいだけだと思いますが。
667 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 22:14:32.23 ] >>666 まじめにレスしようと推敲してたけど、 会話不能になるのが目に見えてるのでこれで終わりね。
668 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 22:32:36.62 ] >>667 それは残念。でも仕様が満たせていないというのは、こちらでは確認できていません。 もしよろしければ、キーワードだけでも。
669 名前:デフォルトの名無しさん [2011/12/18(日) 22:44:30.62 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): 文字列HeLLo中の文字について、大文字は小文字に 小文字は大文字に変換せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 12月20日まで [5] その他の制限:標準ライブラリは使ってはいけない
670 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 23:07:23.88 ] #include <stdio.h> char *lowerupper2upperlower(char *s) { char *t; for (t = s; *t; t++) { if (*t >= 'A' && *t <= 'Z') { *t = *t - 'A' + 'a'; } else if (*t >= 'a' && *t <= 'z') { *t = *t - 'a' + 'A'; } } return s; } int main(void) { char s[] = "HeLLo"; printf("before: %s\n", s); lowerupper2upperlower(s); printf("after: %s\n", s); return 0; }
671 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 23:08:57.85 ] >>669 codepad.org/nij9xQmP
672 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 23:11:55.81 ] はっはっは。ほぼ同じコードだな。
673 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 23:46:28.46 ] Qが使う xmalloc() って嫌がらせだよな あれを見ただけで他人のコードだってすぐ判る パクリがばれて講師に叱られる出題者を想像して満足してるんだろうな
674 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 23:49:55.99 ] ぼくの先生はネットから引用おkだから大丈夫ですwwwwwwwwwwww
675 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 23:54:49.79 ] >>672 ですねえ。タッチの差で残念。
676 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 23:57:15.53 ] え?マジで言ってのこいつ? しかもコピペ間違えてるのに。
677 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 23:57:51.54 ] >>673 debug コード含みの malloc()/free()/realloc() なんですが(以前内容を全部晒したことがあったはずです)、そうですね、今後は余力があれば確認後に書き直すように努めましょう。
678 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 23:58:43.18 ] >>676 え?動作に問題ありますか?
679 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 00:03:25.23 ] 人のコードを勝手にコピペすることに何にも感じないの? しかもさらっと自分のもののようなレスまで付けて。
680 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 00:03:26.11 ] 今までQZaw55cn4cの事をキモイおっさんだと思って透明あぼんしててごめんよ(´・ω・`)
681 名前: ◆QZaw55cn4c mailto:sage [2011/12/19(月) 00:28:45.27 ] >>679 >>663 コピペが楽しいなんて考えたこともないのですけれども‥‥
682 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 00:30:52.57 ] wikiのほーにある程度のライブラリ登録するべきだろうか・・・・
683 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 00:59:53.12 ] >>669 codepad.org/FvPYE1Ir
684 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 01:11:32.94 ] Qは愉快なパクリおっさんだろ しかもこれで金を取ろうとしてるんだからあまりの厚顔無恥さに呆れる イ・ミョンバクみたいだよな
685 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 03:31:41.36 ] >>677 ちゅか宿題レベルににリークチェックの埋め込みが必要かって思うぞ
686 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 03:49:36.58 ] 宿題の回答を作成する段ではリークチェックは必要だけど、提出するときには消しておいたほうが無難。 宿題レベルだからこそ、消す。仕事かつ有意義なものであれば残す。
687 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 06:17:48.72 ] すぐに終了するコードでfreeするとか…。
688 名前: ◆QZaw55cn4c mailto:sage [2011/12/19(月) 07:53:53.61 ] >>685-686 アマチュアだから‥‥いくら分量が大したことなくても、リークチェックしないコードをさらっと書く自信がないんです。でもけしときます、余力があれば。 >>687 自分で自分のロジックを発散させてしまうタイプだから‥‥free() をきちんと書いてロジックの乱れをきちっと抑えておこうという意図ではあります。 >>684 金じゃありませんモリタポかもしれませんが
689 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 09:23:44.57 ] >>686 同意、コードの正当性は大事だが 学生の宿題用なんだから出題に対して素直に分かりやすく書くのが一番
690 名前:689 mailto:sage [2011/12/19(月) 09:26:43.53 ] 一応付けくわえると、 メモリ解放や、0・NULL・\0を同一に扱ったり、真偽値を0と1の正数値として扱ったりと、 実質同じだが意味的におかしいコードもやっちゃいけないな、これは宿題スレだけでは無いが
691 名前:689 mailto:sage [2011/12/19(月) 09:27:20.77 ] × メモリ解放や ○ メモリ解放をしないや
692 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 09:46:00.50 ] そう思うならテンプレに入れたら?
693 名前:デフォルトの名無しさん [2011/12/19(月) 09:46:11.76 ] 実質同じならいいだろ 等価ってそういうもんだ
694 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 10:14:15.46 ] >>687 同意w 実行後結果をすぐ返すようなプログラムで執拗にfree書いているのは、 freeする意味をきっと勘違いしてるんだろうな、と分かる。
695 名前:デフォルトの名無しさん [2011/12/19(月) 12:20:35.37 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):二次元配列"abcd" "EFG" の中に"E"があれば何行何列目にあるか、なければ「見つかりませんでした」と 表示するプログラム [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 12月22日 [5] その他の制限: ユーザー定義関数を用いる、標準ライブラリは用いない。 よろしくお願いします。
696 名前:669 [2011/12/19(月) 12:22:29.42 ] >>670 >>671 ありがとうございます。
697 名前: ◆QZaw55cn4c mailto:sage [2011/12/19(月) 12:22:35.92 ] >>690 >0・NULL・\0を同一に扱ったり、 \0 は、\0xx という 8 進数表示にしか過ぎない。「ナルキャラクタを \0 とあらわす」というわけではなく、\n, \t とは事情が異なる。 \0 と 0 は同一では? NULL と 0 の区別については次を参照。 www.kouno.jp/home/c_faq/c5.html#9 >Cプログラマーは、ポインターが必要な 状況ではNULLと0は交換可能で、キャストされていない0を使うことは ぜんぜん問題ないことを理解しなければならない。 実際、c++ では NULL とかかずに 0 と書いている人は多いようだ。 結論:全部 0 と書いて問題なし。
698 名前: ◆QZaw55cn4c mailto:sage [2011/12/19(月) 12:29:34.65 ] >>694 ,>>687 お、信者を迫害するつもりですね。:-) では一つ質問。fclose() についてはどう思いますか? fopen() したものはいかなる場合でも fclose() しなければならない。 というのは、至極まっとうだとおもうのですけれども。 どうせプロセス開放時には open() したファイルディスクリプタは OS で close() されるのが普通(MS-DOS でさえそうしている)だから、 fopen() したファイルポインタをいちいち fclose() する必要がない、というわけですか? あんまりそういう主張はきかないのですけれども。
699 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 13:31:57.93 ] 他所でやれよ。 宿題の要旨に沿った回答すればいいだけだから、一律にcloseしろ、もするなもスレち。
700 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 13:42:02.35 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): (1)20個の適当な整数が空白で区切られて保存されているファイルを作成せよ。 このファイルに含まれる整数のうち最大のものを出力せよ。 (2)15個の適当な整数が空白で区切られて保存されているファイルを作成せよ。 このファイルに含まれる整数を,その保存されている順とは逆順に”result.txt”というファイルに出力せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 12月20日まで [5] その他の制限:ありません 2つ続けてすみません。 よろしくお願いします。
701 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 13:47:20.57 ] >>697 > 特にASCIIのナル文字(NUL)が必要な場合は、絶対にNULLを使ってはならない。 なんでここを読み落としたの?
702 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 13:49:32.37 ] >>687 宿題ならする。使い捨てならしない
703 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 14:32:27.15 ] [1] 授業単元:C言語 [2] 問題文:入力したxとyを交互に読み取り、zに出力するプログラムを作成せよ 例 x=いはほとりる y=ろにへちぬを z=いろはにほへとちりぬるを [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:gcc 3.4 [3.3] 言語:C [4] 期限:[2011年12月20日08:00まで] [5] その他の制限:なし よろしくお願いいたします
704 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 15:53:07.50 ] QはC++11でnullptrが付加された理由も知らないんだろうな
705 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 16:16:58.47 ] >>703 日本語を扱うなら文字コードによってプログラムが変わる
706 名前:646 mailto:sage [2011/12/19(月) 16:39:41.53 ] >>703 バッファオーバーランは考慮してない #include <stdio.h> #include <string.h> #include <locale.h> int main() { wchar_t Buff1[256] = {L'\0'}; wchar_t Buff2[256] = {L'\0'}; wchar_t Buff3[256] = {L'\0'}; wchar_t *p = NULL; int i,j; setlocale(LC_ALL,"jpn"); wprintf(L"X="); fgetws(Buff1,sizeof(Buff1),stdin); if( p = wcschr(Buff1,L'\n')) *p = L'\0'; wprintf(L"Y="); fgetws(Buff2,sizeof(Buff2),stdin); if( p = wcschr(Buff2,L'\n')) *p = L'\0'; for(i = 0,j=0; i <wcslen(Buff1);i++,j+=2) Buff3[j] = Buff1[i]; for(i = 0,j=1; i <wcslen(Buff2);i++,j+=2) Buff3[j] = Buff2[i]; wprintf(L"%s\n",Buff3); return 0; }
707 名前:701 mailto:sage [2011/12/19(月) 17:58:41.97 ] >>704 >>689 が言語を指定していないというのもあるけれど、 少なくともCに限定しているレスに対して、C++の話を持ちかけるのはどうかと思うよ。
708 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 18:59:22.76 ] 突然失礼します。 下記のコードを記述し、WindowsXP及びWindows7で同様のファイルを指定したところ XPでは正常に動作しますが、7ではファイルを開くことができません。 どなたか原因が分かる方いらっしゃいましたらご教授お願いします。 If(!file.open(fn, CFile::modeRead|CFile::typeBinary)) return FALSE
709 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 19:01:21.39 ] >>708 ここではなくてMFCスレへどうぞ。
710 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 19:06:17.06 ] >>709 場所違いでしたか。 大変失礼しました。
711 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 21:34:04.10 ] 7月の段階で民主党が2兆円の復興予算を組んだとき 自民党が要請した復興予算は累計17兆円 自民党の17兆が7月時点でに決定されていたのなら 今の日本はもう少し違って居た筈だ ちなみに関東大震災のときは復興予算として現在の価値にして150兆円以上を組んでいた。 この事実を知れば、予算の規模の小ささ、ましてや増税なんて奇知涯にも程があると思わざる負えない 帰化人だらけの民主党に復興なんて はなっから無理な話なんだよ
712 名前: ◆QZaw55cn4c mailto:sage [2011/12/19(月) 21:35:32.57 ] >>701 >>特にASCIIのナル文字(NUL)が必要な場合は、絶対にNULLを使ってはならない。 前後を見ると、これは #define NULL (void *)0 と定義されている場合があるため、との記述をみることができますね。でも本来的には #define NULL 0 だし、そうあるべきだ、との趣旨の文章です、www.kouno.jp/home/c_faq/c5.html#9 は。 #define NULL (void *)0 ならば、\0 を NULL とはかけない。 #define NULL 0 なら \0 = NULL = 0 でなんら問題ないと思います。 結論:全部 0 と書いて問題なし。ただし、前方参照は排除、可変長引数での 0 のキャストはどうしても必要。
713 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 22:52:10.54 ] >>712 NULLはポインタの為の定義であって、 実装がどうであろうと文字としてNULLを使用することは間違い。 いいかげんうざすぎるだろ。 共通認識をねじ曲げてでも自分が正しいと思うならひきこもってろ。
714 名前: ◆QZaw55cn4c mailto:sage [2011/12/19(月) 23:13:37.11 ] >>713 >NULLはポインタの為の定義であって、実装がどうであろうと文字としてNULLを使用することは間違い。 威勢のいい精神論は結構ですけれども、理工系の人間としては適切な姿勢かどうか、はなはだ疑問ですね。 「#define NULL (void *)0 が ANSI で許容されているから文字として NULL を使用するのは問題」というのが正確かつ的確なんです。つwww.kouno.jp/home/c_faq/c5.html#9 でも私が主張しているのは、 >文字としてNULLを使用すること ではなく(そんなこといつ私がいったのか?) 「文字(\0)だろうと、ポインタだろうと、普通の数字だろうと、すべて 0 と書くことでなんら問題ない」 です。 >いいかげんうざすぎるだろ。 C FAQ もまともに読めないあなたの存在がね。 >共通認識をねじ曲げてでも自分が正しいと思うならひきこもってろ。 すべて 0 と書いて問題ないのが、1995 年からの共通認識です。 頭沸いてません?
715 名前:デフォルトの名無しさん [2011/12/19(月) 23:15:26.82 ] [1] 授業単元: 情報処理 [2] 問題(1) ideone.com/xfyDt 上のプログラムを参考にして、unsigned型整数をビット表記した時の下から4ビット(20 から23の桁) を表示する関数 void print_4bits ( unsigned x) を作成せよ。 またこの関数を用いて、0から15までの整数を4ビットで表示するプログラムを作成せよ。 問題(2) float型実数 x と double型実数 yを用意し、初期値として x, y 共に1.0と置く。 ループ( while文、 for文何でもよい) を用いて、x, yの値をそれぞれ前の値の 1/10にする毎に、その値を表示するプログラムを作成せよ。 ループはyの値が 10 -14 より小さくなった場合に終了すること。 x , yを 表示する際、変換指定は %20.15fとすること。 C言語においては 10 -14 は 1e-14と表記する。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: [3.3] 言語: C++ [4] 期限: できれば今夜12時まで(急で申し訳ありません) [5] その他の制限: 特になし どなたかよろしくお願いします。
716 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 23:20:37.50 ] >>714 >「#define NULL (void *)0 が ANSI で許容されているから文字として NULL を使用するのは問題」というのが正確かつ的確 自分で問題があるって言ってるのに 誰も納得しないなそれじゃあ
717 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 23:26:20.00 ] >>714 「そんなこと言ってないよ、全部0って書けば問題は起こらないよとしか言ってないよ」 で済む話をねちっこくするから嫌われるんじゃないかな。 まあ煽るほうもアレだけど。 それはそうと最近はコードだけペタペタ貼っていくスタイルに変えたんじゃなかったの?
718 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 23:28:32.76 ] >>712 > なら \0 = NULL = 0 でなんら問題ないと思います。 それらが等価であるとミスリードさせようとしてるわけじゃないのなら、もう一度読み直してみては。
719 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 23:45:56.28 ] >>715 1. ideone.com/zOHm3 2. ideone.com/utZ16
720 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 23:51:15.30 ] >>715 すまない。課題を読む限り >>719 の 2. は間違い。 表示順序が逆になってる。 2. ideone.com/TlUqY
721 名前:デフォルトの名無しさん [2011/12/20(火) 00:00:30.77 ] >>719 ありがとうございました。
722 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 00:06:16.23 ] >>714 >#define NULL 0 >なら \0 = NULL = 0 でなんら問題ないと思います。 「なんら問題ないと思います」 >NULLを、ポインター以外の0が必要な場面に使ってはならない。 「使ってはならない」 日本語わかります?
723 名前: ◆QZaw55cn4c mailto:sage [2011/12/20(火) 00:09:24.28 ] >>718 >>#define NULL 0 >>なら \0 = NULL = 0 でなんら問題ないと思います。 と二行でセットです。これを下一行・部分だけ抜き出されて「ミスリード」といわれても困惑するばかり。 >>717 >最近はコードだけペタペタ貼っていくスタイルに変えたんじゃなかったの? そでしたね。
724 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 00:12:34.07 ] Qはもしかして大抵の処理系だと真は1だから真偽値を正数値として扱ってるの?、 trueやfalseは1と0のプリプロセッサだからと言って1や0書いてるの? 結果も正数値だからint型にしてるの? RAIIで書くのも目視でチェック処理書くのも同じとか思ってるの? そのチェック処理にはboolは登場するの? たぶんまだまだたくさん疑問があるよ
725 名前: ◆QZaw55cn4c mailto:sage [2011/12/20(火) 00:14:34.01 ] >>722 \0 = NULL = 0 で >「なんら問題ないと思います」 そうですよ。#define NULL 0 ならね。 >「使ってはならない」 そうですよ。#define NULL (void *)0 の可能性があるからね。 まあ、>>717 のとおり「そんなこと言ってないよ、全部0って書けば問題は起こらないよとしか言ってないよ」と書けばすむ話でしたかね。
726 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 00:29:32.73 ] >>725 >NULLを、ポインター以外の0が必要な場面に使ってはならない。 >プログラムは動くかもしれないが、 >コンパイラに間違ったメッセージを送っていることに違いはない ちゃんと読もうよ…。(void*)0ならそもそも通らないんだよ…。
727 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 00:30:09.31 ] >>723 > >>#define NULL 0 > >>なら \0 = NULL = 0 でなんら問題ないと思います。 > と二行でセットです。これを下一行・部分だけ抜き出されて「ミスリード」といわれても困惑するばかり。 NULLが0じゃない環境があるわけだから、等価じゃないって言われることになるよ。 実際等価じゃない環境はあるし、それを想定したツッコミもはいってるよね。 でも、いいたかったのはそんなことじゃなく、すべて0と書くことでどの環境でも問題なく動作するということじゃないの?
728 名前: ◆QZaw55cn4c mailto:sage [2011/12/20(火) 00:30:26.14 ] >>724 >Qはもしかして大抵の処理系だと真は1だから真偽値を正数値として扱ってるの?、 いいえ、この前、常用の処理系で isprint() が 32 を返すのをみていますからね。真値として-1を返す処理系/関数だってあるかもしれない、昔の N-BASIC のように。 >trueやfalseは1と0のプリプロセッサだからと言って1や0書いてるの? c++ でも if (isprint()) か if (!isprint()) といった形でかけるのなら、true/false をあえて書くことすらありません。ただし c では return 1, return 0 は使います。 RAII やスマポはまだ十分には習得していません。
729 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 00:30:53.21 ] >>724 trueを1と想定したコードにはであったことないなぁ。 !!bFlag のようなコードはたくさんあるけど。
730 名前: ◆QZaw55cn4c mailto:sage [2011/12/20(火) 00:44:49.76 ] >>727 >すべて0と書くことでどの環境でも問題なく動作するということじゃないの? ですね。 (実は (void *)0 と (void (*)())0 が違うので可変長引数では書き分けなければならない環境もあったりするんですけれどもね。) まあ私の「\0 = NULL = 0」が表現として誤解を招いたのでしょう。 >NULLが0じゃない環境 ??? NULL はプリプロセッサを通過すれば全部 0 または(void *)0 に置き換わるはず。 ヌルポインタがコンパイラを通過したあとどう表現されるかをここで問題とするのはお門違い。
731 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 00:52:09.30 ] 助け舟出してくれた奴にまで悪態をつくQzさんであった…。
732 名前: ◆QZaw55cn4c mailto:sage [2011/12/20(火) 01:00:33.74 ] >>731 んーんー‥‥‥ ごめんなさい。
733 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 02:26:01.38 ] >>589-590 >>592 >>619-620 有難う御座います
734 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 02:31:12.79 ] >>730 > まあ私の「\0 = NULL = 0」が表現として誤解を招いたのでしょう。 まったくもってそのとおり。そして、それは読むほうの問題だと思っているフシがあるのがさらに問題。 その積み重ねが嫌われる結果になってることはわかる?嫌われたいのならそれでいいけれど、そうじゃないだろう? なぜ誤解を招かない記述がされている文書(FAQや規格)を引用しながら、誤解を招く一言を加えるのか。 誤解を招きうる正しい意見と、誤解を招かない間違えた意見は、どちらも同じように知らないものを混乱させる。 大人なんだからしっかりなさい。
735 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 04:29:25.43 ] 学生さんはここの書き込みを鵜呑みにせずまっさきにcfaq見ること。
736 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 04:49:42.01 ] 小学生レベルの算数や幼稚園レベルの日本語もわからな奴が理工系の人間か
737 名前:デフォルトの名無しさん [2011/12/20(火) 09:33:31.19 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): 任意の0〜nの整数から、重複を許してm個の整数を選び出力するプログラムを作れ。 [3] 環境 [3.1] OS: Windows7 [3.2] コンパイラ名とバージョン: visual studio 2010 [3.3] 言語: C++ [4] 期限:2011年12月20日15時 [5] その他の制限:急ですみません。 重複順列を出力するプログラムをお願いします。
738 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 09:58:46.85 ] \0 = 0 は違和感あるな。charとintだもん。
739 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 10:01:10.66 ] >>737 #include <iostream> int main() { int i, n, m, *p; std::cin >> n >> m; p = new int[m]; for(i = 0; i < m; i++) p[i] = 0; for( ; ; ) { for(i = 0; i < m; i++) std::cout << p[i] << ' '; std::cout << std::endl; for(i = m - 1; ; i--) { if(++p[i] <= n) break; if(i == 0) { delete [] p; return 0; } p[i] = 0; } } }
740 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 15:32:20.28 ] 国民に罵声を浴びせられ駅前交番に逃げ込むテレビアカヒの取材班 12/19正午 新橋駅前 blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/111219_124643_ed.jpg ,:' .l .::;',. :::;/..://:: /,':/ ', l、 .i ヽ . ,' ..::| .::;',' :;:','フ'7フ''7/ ',.ト',_|, , ',.', ,' .::::::!'''l/!:;'/ /'゙ / '! ゙;:|:、.|、| 'l . ,'. .:::::::{ l'.l/ 、_ _,. 'l/',|.';| l :::::::::::';、ヾ  ̄ `‐-‐'/! ';. ' . ! :::::::::::/ `‐、 ゝ |'゙ | | ::::::::/ \ 、_, _.,.,_ ノ::: ! 野田政権が早く終わりますように |::::/. _rl`': 、_ ///;ト,゙;:::::./ .. `´ /\\ `i;┬:////゙l゙l ヾ/ ,.:く::::::::`:、\ 〉l゙:l / !.| . /:.:.:.:\:.:.:.:.`:、ソ/:.:| | | 19日の報道ステーション /.:.:.:.:.:.:.:.:.:\:.:.:.:У:.:;l livedoor.blogimg.jp/kingcurtis/imgs/e/d/ed2dbc66.jpg
741 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 21:49:03.12 ] とりあえず、Wikiのほー、現行スレのURIを直しといた。
742 名前:デフォルトの名無しさん [2011/12/21(水) 07:43:32.06 ] >>739 ありがとうございました!!
743 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 12:46:08.95 ] [1] 授業単元:情報処理 [2] 問題文(含コード&リンク): ideone.com/uhaD9 [3] 環境 [3.1] OS:Linuxs [3.2] gcc [3.3] 言語:C [4] 期限:12月22日24:00迄 [5] その他の制限: 宜しくお願い致します。
744 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 13:13:51.94 ] >>743 ideone.com/e9opF
745 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 18:49:31.48 ] >>744 ありがとうございます。
746 名前:432 [2011/12/21(水) 21:59:21.99 ] >>495 >>497 作成していただいたプログラムですが、コンパイルすると 60行目で「ここでは宣言はできない(関数 apply_filter )」と出ます どうすればいいでしょうか
747 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 22:14:54.30 ] 他人やけど、5354行の間に60行目を移動すれば、いい筈。
748 名前:432 [2011/12/22(木) 01:13:44.57 ] >>747 おお、できました ありがとうございます あとはどうやったらこれがちゃんと動くのかわかる方いらっしゃいますか 画像の指定の方法とかがちょっとわからないです 何度も質問して申し訳ないです
749 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 03:29:51.03 ] [1] 授業単元:アルゴリズムとデータ構造 [2] 問題文(含コード&リンク):ideone.com/WOUG0 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 12/22 23:59 [5] その他の制限:何らかのソートを使って作成し、そのソートについての説明を書くこと。 お願いします。
750 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 03:34:15.42 ] >>748 usageでそうだけどね。
751 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 04:01:08.14 ] >>748 すみません、それ更新されてませんでした。 ideone.com/lLl1K 使い方はコメントを参照してください。
752 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 04:07:21.97 ] 何度もすいません。コメント追加されてませんでした。 ideone.com/ZW2Y0
753 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 04:16:45.93 ] [1] 暇つぶし [2] 問題文(含コード&リンク): 15パズルにおいて最短手順が最長となる場合の手順数を求めよ 複数個を同時にスライドしても1手と数えることとする .1 .2 .3 .5 .6 .7 .4 .9 10 11 8 13 14 15 12 ↑ の状態から ↓ の状態にするのも1手と数える .1 .2 .3 .4 .5 .6 .7 .8 .9 10 11 12 13 14 15 [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: どちらでも可 [4] 期限: 無期限 [5] その他の制限: 出来る限り高速に
754 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 04:35:27.25 ] >>753 自分が作ったものと、他人が作ったものを比較したいんじゃないんだなぁ…
755 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 05:03:37.43 ] >>754 自分では解けないからどうやって解くのかと思って
756 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 05:08:08.11 ] 暇つぶしにやってみるんじゃなくて、暇つぶしに問題を出してみただけか
757 名前:646 mailto:sage [2011/12/22(木) 05:15:28.50 ] >>749 昔作ったソース 自分で改造してね codepad.org/VD8Qhnn6
758 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 05:30:05.84 ] >>755 0. 最初の盤面 1. 盤面から1手先の盤面をそれぞれ作成 2. 作成した盤面が盤面プールになければ 2.1. 作成元盤面のポインタ、使った手と共にプールに押し込む 2.2. 作成した盤面について1へ 3. 完了するまでループ 4. プールから検索し、最初の盤面になるまで辿って表示していく。 たぶんこうなる。
759 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 05:32:33.05 ] うんそうなる。 で、盤面は64ビットあれば表現できる
760 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 05:41:01.70 ] 現実的な時間で終わるかどうかが問題で
761 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 05:54:02.37 ] 最長であるn手目の状態から、一つ動かした盤面がn-1手以内で到達可能であることを判定しないといけないと思うんだけど、 それをするためには1手目からm手までの盤面を、1手ごとにすべて求めないといけなくなる?
762 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 05:55:07.44 ] 自分のなかで今割とアツいDDの出番なんだろうけど、まだ習熟途中。
763 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 05:55:45.29 ] DDじゃなくてDPごめん
764 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 06:11:28.67 ] 80手であることは知ったけれども
765 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 06:20:44.22 ] 全パターンで 16!/2 = 10461394944000 メモリに収まらないwww
766 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 06:22:57.60 ] それらのすべての盤面から、任意の二つのパネルを入れ替えたものは解けないパズルなので、盤面として保持されることはない、が。
767 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 06:23:58.71 ] >>766 その分も加味されてるだろw
768 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 06:26:14.69 ] 単に半分でいいの?
769 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 06:39:09.11 ] 2x2 で 12 通り 6手 3x3 で 181440 通り 24手 3x2 で 360通り 20手 4x2 で 20160 通り 25手 5x2 で 1814400 通り 36手 になったし合ってるはず
770 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 06:44:41.31 ] 中のパネルを1回だけ入れ替えた盤面は不正な盤面。 組み合わせは1盤面につき Cb(15,2) 16! / Cb(15,2) = 16! / (15!/13!)/2! = 16 * 13! * 2! = 199264665600 ほんとに合ってるかわからないw
771 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 06:47:24.53 ] 1 4 7 2 0 8 3 6 5 3x3 の最長手順 24手 こんなん出たけど合ってるかどうかものすごく不安 0 が空白部分です
772 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 06:53:46.01 ] >>770 ありえない 隣り合う二つのパネルを一回だけ入れ替えると解ける/解けないが入れ替わるから
773 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 07:01:53.63 ] でもそれだと入れ替える場所は(4*3)*2 - ( 2 or 4 )にならない?
774 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 07:05:29.63 ] >>773 解けない 盤面を 解ける ようにするには隣り合うパネルを一回だけ交換すればよい 解ける 盤面を 解けない ようにするには隣り合うパネルを一回だけ交換すればよい 合ってるよね?
775 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 07:23:07.98 ] >>774 なんとなくわかった。1:1で存在しているって事か。 あと別に間違ってると言いたいんじゃなくて、 自分が理解できてないだけです。
776 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 10:41:25.20 ] 何かおかしいと思ったらNP完全問題か。 暇つぶしの前にやる気無くなった。
777 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 14:02:03.88 ] 震災前 /::::::::::::::::::::::::::::::;;::ノ ヽ;::\ /::::::::;;;;;;;;;,,,;;...-‐''"~ ヽ:;::l |:::::::::::| 岡田 異音 |ミ| |:::::::/ ,,, ヽ,、 '|ミ| '|:::::::l '''"" ゙゙゙゙` |ミ| |:::::|. ,,r ‐、 ,, - 、 |/ ,/⌒| ノ ・ _), (. ・ `つ| | ( "''''" |"'''''" | ヽ,,. ヽ | | ^-^_,, -、 | | _,, --‐''~ ) | マニフェストもう守れない。どうしよう・・・・ 'ヽ ( ,r''''''‐-‐′ / 震災後 |:::::::::/ |ミ| |::::::::| ,,,,, ,,,,, |ミ| |彡|. '''"""'' ''"""'' |/ /⌒| -=・=‐, =・=- | | ( "''''" | "''''" | .ヽ,, ヽ .| キリッ | ^-^ | . | ‐-===- | 大震災が起こったのだからマニフェストの破綻も致し方ありません ,\. "'''''''" / 朝鮮民主党 解党
778 名前:432 [2011/12/23(金) 02:37:41.68 ] >>752 ありがとうございます 動かすことができました 助かりました
779 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 10:13:05.32 ] [1] 授業単元:計算機アルゴリズムT [2] 問題文(含コード&リンク): 設問1-1 キーボードから整数値を受け取り、その数値に該当する月の略称("Jan", "Feb",・・・)を表示するプログラムを作成しなさい。 なお、月の略称はポインタ配列「 char *month[ ]={"Jan.", "Feb.", "Mar.", "Apr.", "May.", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."};」で定義するものとする。 [3] 環境 [3.1] OS:Windows vista [3.2] コンパイラ名とバージョン:visual studio 2008 [3.3] 言語:C [4] 期限:[2011年12月26日8:00まで] [5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文 繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数 条件分岐if文、要素番号idx使用の書換、データの入れ替え 条件分岐・論理演算子を用いたif文の条件、if文、else if文 switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義 引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法 関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数 文字列の代入、キーボードからの文字列入力、char型ポインタ変数は習いました。 宜しくお願いします。
780 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 11:19:14.96 ] >>779 codepad.org/cigPOTU0
781 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 13:44:56.10 ] >>780 有難う御座います
782 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 16:22:41.08 ] これは必見 フジテレビ 生放送中に有志による怒りの抗議 (昨夜) (コメント欄に反日工作員が紛れているので注意) www.nicovideo.jp/watch/sm16518699?user_nicorepo
783 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 18:09:32.41 ] C++でヘッダーファイルをインクルードするときにprivate関数の宣言まで取り込むのは無駄だと思うんですがこれは地名的名設計ミスなんじゃないでしょうか
784 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 18:15:11.76 ] 無駄である以外に問題が無いモノを致命的と呼ぶのか?
785 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 18:23:15.03 ] >>783 privateメンバの変更を行っただけなのに、それを利用するだけのファイルも再コンパイルされてしまうことを問題視してるのかな。 なら、pImpl
786 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 21:31:37.87 ] >>783 俺もその点が気に入らないが、それだけじゃない。 C++ってそういう言語だよ。OOPLとしては全体的に消極的。
787 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 21:43:40.00 ] friend関数作った時とかはprivateも見えてないと困るな
788 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 23:19:30.05 ] #define private public
789 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 23:27:41.72 ] やっぱりC言語のローカルヘッダと公開ヘッダの仕組みの方が優秀だということだな
790 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 01:58:23.33 ] 【質問テンプレ】 [1] 授業単元: C言語アルゴリズム [2] 問題文(含コード&リンク): 【1】.0度<=x<=90度の範囲でf(x)=sin(x)-cos(x)=0の解を求めよ(許容誤差は各自入力) ヒント:講義中に解説した例:2分法による方程式解法のax+bを上式にする(a,bの読み込みも不要) 例のコードは、codepad.org/ImpygN9S です。 ヒント2:sinやcosの括弧内の単位はradianであることに注意(pi*x/180.0) 【2】.0度<=x<=90度の範囲でx,sin(x),cos(x),sin(x)-cos(x)の値を5度刻みで"kadai2.ans"に出力、 ftpでgetしてExcelの散布図を利用してグラフ化し、【1】の解が正しいか確認せよ。 【3】.ax+bとcx+dの交点のx座標を求めよ。(a,b,c,d,許容誤差は自由) ヒント1:ax+bとcx+dの差が0の所が交点 [3] 環境 [3.1] OS: Windows7 [3.2] コンパイラ名とバージョン:VC2008 [3.3] 言語: C [4] 期限: 26日AM6時まで [5] その他の制限: 出来るだけ分かりやすいとありがたいです 多いですがよろしくお願いします
791 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 05:13:19.26 ] >>790 ideone.com/1Ha7h ideone.com/XzTN9 ideone.com/l6a0j
792 名前::デフォルトの名無しさん mailto:sage [2011/12/26(月) 08:19:04.07 ] [1] 授業単元:計算機アルゴリズムT [2] 問題文(含コード&リンク): メンバとして映画のタイトル(文字列)と公開年(int 型整数)をもつ構造体movie を宣言し,movie 型構造 体のメンバの値を設定してその構造体を返す関数struct movie set_movie(void)を作成しプログラムを完成させよ. [実行例] 映画のタイトルを入力してください:HAYABUSA 公開年を入力してください:2011 データを設定しました。 タイトル:HAYABUSA 公開年:2011 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:[2011年12月27日8:00まで] [5] その他の制限:以下の実行例のように,関数の動作を確認できるmain関数も作成すること.ただし,関数set_movie およびmain 関数については以下の要件を満せ. ・設定するメンバの値(タイトル,公開年)は,関数set_movie 内でscanf 等を用いてユーザに入力させること. ・main 関数内で,movie 型構造体のオブジェクトmovie1 を初期化せずに宣言する ・関数set_movie を用いて,movie1 のタイトルと公開年の値を設定する. ・その後,以下の実行例のようにmovie1 のメンバの値を表示して終了する. 出来るだけ分かりやすいとありがたいです
793 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 09:11:15.75 ] >>792 ideone.com/5xe8B もし、>>444 の続き問題だったのなら ideone.com/1mQf6
794 名前:793 mailto:sage [2011/12/26(月) 09:14:29.63 ] ごめん、2個目、変なのまざっちゃってたので修正 ideone.com/bXXAS
795 名前::デフォルトの名無しさん mailto:sage [2011/12/27(火) 09:58:15.58 ] [1] 授業単元:配列と構造体 [2] 問題文(含コード&リンク): メンバとして名前(文字列)と年齢(整数)をもつ構 造体person を宣言し,以下の要件を満たすプログラムを完成させよ [実行例]: チーム1 のメンバー: Haybusa Taro, 20 歳 Katakura Goro, 22 歳 Minamino Akira, 19 歳 3 人の平均年齢は20.33 歳です。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:[2011年12月28日8:00まで] [5] その他の制限: ・main 関数内で,大きさ3 のperson 型構造体配列team1[] を次の値で初期化して宣言する. 名前:Haybusa Taro,年齢:20 名前:Katakura Goro,年齢:22 名前:Minamino Akira,年齢:19 ・実行例のように,team1 の3 人の情報を表示する. ・その後,3 人の平均年齢を計算して表示する. 出来るだけ分かりやすいとありがたいです
796 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 12:11:39.87 ] >>795 #include <stdio.h> int main(){ struct person { char name[30]; int age; } team1[3] = { {"Haybusa Taro", 20}, {"Katakura Goro", 22}, {"Minamino Akira", 19} }; int i, sum = 0; printf("チーム1 のメンバー:¥n"); for (i = 0; i < 3; i++) { printf("%s, %d 歳¥n", team1[i].name, team1[i].age); sum += team1[i].age; } printf("3 人の平均年齢は%.2f 歳です。¥n", sum / 3.0); return 0; }
797 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 20:36:12.24 ] 平松邦夫/民主党 大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ ・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞 ・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派 VS 橋下徹/維新の会 大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫 様子見:公明
798 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 10:20:47.36 ] ファイルの先頭4KBが重複するものを全て求めるプログラム。 できる限り高速なもの。
799 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 11:08:39.89 ] >>798 >>1 その情報だけじゃ趣味レベルと見なされて、memcmp使えで終わり。 何と(例えば互いに?)同じか、4KB無い時はどうするか、或いは無視して良いのか。 この辺の事を明記しない奴は大抵、後出しの条件を付けて来るから様子見されるぜ。
800 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 11:25:04.32 ] 4KB以上サイズがあるファイルを、先頭4KBの一致で分類するプログラムです。 一つのファイルを与えたときに一致するものを求めるのでは無いです。
801 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 11:28:44.17 ] memcmp使え
802 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 11:39:58.55 ] ファイルの先頭4KBだけ読み、ファイル名とセットにしたレコードを生成し、ソートする ファイルの数次第でソート方法が決まりそう。
803 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 12:20:58.03 ] ファイル先頭4KBのMD5を生成し、ファイル名とセットにしたレコードを生成し、 連想配列の要素にMD5使ってカウントし、最後にカウントが2以上の連想配列のファイル名を出力、とか。
804 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 14:58:17.29 ] 一致で分類するなら、名前がハッシュ値のディレクトリに移動
805 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 19:19:22.69 ] [1] 授業単元:計算機アルゴリズムT [2] 問題文(含コード&リンク): 設問1-1 1人分の学生の情報(学籍番号、名前、身長)を持つ構造体を 「struct student { int number; /*学籍番号*/ char name[20]; /*名前*/ float height; /*身長*/};」と定義し、 構造体 student 型の変数にキーボード入力から値を設定した後、その変数の値を printf 文で表示するプログラムを作成しなさい。 設問1-2 n(>1)人分の学生の情報を持つ構造体 student 型の配列変数に対し n 人分の変数の値をキーボードから読み込んで 構造体の配列変数に設定した後、 printf 文で n 人分を表示するプログラムを作成しなさい。 [3] 環境 [3.1] OS:Windows vista [3.2] コンパイラ名とバージョン:visual studio 2008 [3.3] 言語:C [4] 期限:[2012年1月1日8:00まで] [5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文 繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数 条件分岐if文、要素番号idx使用の書換、データの入れ替え 条件分岐・論理演算子を用いたif文の条件、if文、else if文 switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義 引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法 関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数 文字列の代入、キーボードからの文字列入力、char型ポインタ変数 構造体・メンバ変数への数値の代入、構造体・ポインタを使ってメンバ変数を指定は習いました。 宜しくお願いします。
806 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 21:26:13.32 ] >>805 [1-1] codepad.org/0VF1doqz [1-2] codepad.org/bAFgBHnb
807 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 21:26:55.52 ] >>805 nは画面からの入力?
808 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 22:01:08.47 ] | ┏━━━┓ 従軍慰安婦は反日朝日新聞の捏造でした。 | ┃借収安┃ デマだらけの報道に注意しよう | ┃三三婦┃ | ┃○○大┃ | ┃○○募┃ | ┃○圓集┃ | ┃圓以 ┃ | ┃迄上 ┃_ \┃可 ┃ \ ┗━━━┛ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | img04.ti-da.net/usr/wishcomestrue/t02200190_0220019010786142693.jpg
809 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 00:18:13.89 ] >>807 そう もしまずかったら16行目から19行目を消して nに値を直接代入してください
810 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 11:01:15.06 ] >>807 そうです
811 名前:810 mailto:sage [2011/12/30(金) 11:03:09.72 ] >>807 そうです 画面からというより、キーボードから入力するという事です
812 名前:810 mailto:sage [2011/12/30(金) 11:20:03.66 ] >>806 学籍番号、名前、身長がちゃんと表示されないんですがどうすればいいですか? Input number name height>>9 学籍番号: 9 名前: ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘeIA^ 身長: -431602080.000000 続行するには何かキーを押してください . . . ↑のように出力されます
813 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 11:39:53.28 ] >>812 入力方法が間違ってる 配列サイズ考慮した作りになってるから少しややこしいかもしれないけども sscanf(buf, "%d %s %f", ...); に対して 9 だけ入力してる だから %s と %f はbufのゴミが読み取られてる あとは分かるな?
814 名前:デフォルトの名無しさん mailto:sage [2011/12/30(金) 15:03:50.31 ] ゴミがたまに「ヘヘヘノヘヘヘ」になって笑ってしまう
815 名前:810 mailto:sage [2011/12/31(土) 10:38:59.36 ] >>813 分からないので、詳しく教えてください お願いします
816 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 11:41:29.84 ] ソース理解してねーと口頭で説明とかなったら困るぞ
817 名前:813 mailto:sage [2011/12/31(土) 12:24:11.93 ] >>815 じゃあ実際のコードをまじえて解説してみるよ ちょっと長くなったので2回に分ける 1. まずはこのコードを実行してみて #include <stdio.h> int main(void) { char buf[10]; int i; for (i = 0; i < 10; i++) { printf("%d ", buf[i]); } return 0; } おそらく全部0になってないと思う、 C言語では実行速度を優先した設計になっているから、 変数や配列を宣言した時は単にメモリ領域を確保するだけで、そのメモリ内のデータは残ったままになってる、 だからループ内ではそのゴミデータを「数値」として出力しちゃってる では次にループ内の「"%d "」の「"%c"」に変えて実行してみて、 ※スペースも削除してるのを注意 実行時のメモリの状況によるけど、>>812 の名前部分と似たような文字列になったと思う これもループ内でゴミデータを「文字」として出力してるから。 つづく
818 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 12:31:57.13 ] マダァ-? (・∀・ )っ/凵⌒☆チンチン
819 名前: ◆QZaw55cn4c mailto:sage [2011/12/31(土) 12:45:35.89 ] >>817 %c するんだったら、最低限でも isprint() を間にかませたいよね
820 名前:813 mailto:sage [2011/12/31(土) 12:57:48.51 ] 2.つづき >>806 のソースではbufの配列数は128だけど、これも同じく最初はゴミデータで埋まってる 無理やり書くとこんな感じ 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' ... ここで>>806 の上のソースの20行目 fgets(buf,128,stdin); これは標準入力から最大128文字を読み込む処理をしているが 9 だけを入力すると、bufには1文字だけが読み込まれ、 '9' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' ... って状態になる 次に同ソースの21行目 sscanf(buf,"%d %s %f",&sd->number,sd->name,&sd->height); ここでbufから「学籍番号」「名前」「身長」 を読み取る事を期待してるわけだが、bufには9以降はゴミしか入っていない %dは文字列の中から、連続した数値が続くまでを読み取って、 それを整数値として返す処理をしてるから問題なく学籍番号用の変数には9が入っているが %sは文字列の中から、連続した文字列が続くまでを読み取るから、 bufの中のゴミデータが名前用の変数に入ってる、 %sは、おそらく%sで残りゴミデータを全部読み取ってしまっているから無視されてる、 試しに18行目あたりに 「sd->height = 3.141592;」 なんて円周率を入れておいても、実行時に 9 だけならその円周率がそのまま使われてると思う ここまでが間違って出力されてる中身の仕組み じゃあ実際に正しく入力する方法は、21行目で "%d %s %f" って書式になってるのを期待してるわけだから、 入力するときも 「数値」「スペース」「文字列」「スペース」「浮動小数点」 って入力すればいいわけ
821 名前:813 mailto:sage [2011/12/31(土) 12:59:43.23 ] 誤字 × %sは、おそらく%sで残りゴミデータを ○ %fは、おそらく%sで残りゴミデータを
822 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 13:06:09.80 ] 819 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
823 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 13:21:00.42 ] >>820 「スペース」って入力しそうw
824 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 14:19:48.20 ] それにしても、Cというのは酷い言語だね。
825 名前: ◆QZaw55cn4c mailto:sage [2011/12/31(土) 14:24:33.80 ] >>824 8086アセンブラよりまし。
826 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 14:48:55.13 ] 8086アセンブラの何がひどいの?
827 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 14:52:56.00 ] >>825 お前はこれから一切コンパイラ使うな
828 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 14:57:39.89 ] クズの知ったかぶりがひどすぎる
829 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 15:10:52.26 ] Qは来年になってもクズだろうな つーか小姑みたいに茶々入れたいだけなら出てくんなっての
830 名前: ◆QZaw55cn4c mailto:sage [2011/12/31(土) 15:24:56.96 ] >>828 toki.2ch.net/test/read.cgi/i4004/1295492625/324 >>826 far と near を意識しなければならないところ。処理系の問題ではなくてアーキの問題ね、当時としては事情があっただろうが。 int far * near * とか平気でやっていた、そうそう >>730 の (void *)0, (void (*)())0 とかね。 >>829 来年もよろしく
831 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 15:28:51.50 ] MS-Cが16ビットの時なら、アセンブラと変わらない
832 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 15:34:33.82 ] 830 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん >>829 こうしとけば楽だよ それにしてもQが出てくる前は宿題スレはもっと平和だったなあ こいつが来てから殺伐としてきた
833 名前: ◆QZaw55cn4c mailto:sage [2011/12/31(土) 15:37:04.68 ] >>832 >殺伐 2ch らしくていいじゃないか?
834 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 15:42:13.46 ] アセンブリをやってた人間ならもう少しマシなコードを書けると思うんだがなあ
835 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 15:51:19.52 ] >>833 皮肉も通じないアホか?一回病院逝け
836 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 15:59:09.48 ] 病院からアクセスするなよ
837 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 16:10:45.24 ] ああ既にQは精神病院に入院してるのか だろうなあキチガイだもんな
838 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 16:14:00.63 ] >>835 いちいちかまうな、ボケ。 >>836 昨日友人の見舞いに行ったんだが、看護婦さんの見回って、今時ノートPC台車に載せてきて、 ベッドそばの機器に繋いでデータ収集してるんだな。 ふと見ると、ベッドの近くに LAN コンセントとかもあるし。 病院によっても違うんだろうけど、意外とIT化されてるのに改めてびっくりした。 足の骨折ぐらいなら、PCでインターネット接続させてくれれば、入院の辛さもちょっと軽減しそうだ。
839 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 16:16:44.97 ] 精神病院の場合はどうなんだ?ネットなんかしたらかえって病気が悪化するように思うが
840 名前: ◆QZaw55cn4c mailto:sage [2011/12/31(土) 16:50:56.59 ] >>834 んー、それはそうかもしれないですね。 部分的に asm に置き換えることはいくらか経験があっても、全部 .asm で書くというのは toki.2ch.net/test/read.cgi/i4004/1295492625/324 の常駐物がはじめてではありますね。 >>835 皮肉で返してみたけど‥‥‥ >>837 飲んでるおくすり en.wikipedia.org/wiki/Chlorpromazine
841 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 17:01:38.08 ] おれはQちゃん好きだぜ
842 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 17:17:17.91 ] クロルプロマジン飲んでるのか それコントミンじゃん 統合失調症の薬 お前は自己愛性人格障害だから薬は効かない
843 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 17:20:51.24 ] cp2.uh-oh.jp/read_img/index/ab83e09400ff17d99f45ceee15a37e09.jpg cp2.uh-oh.jp/read_img/index/a58c2ddc9cdbe45529ef0d58c95cc232.jpg テレビに騙されるな(自称街の人-台本読んでるだけの業者)
844 名前:810 mailto:sage [2011/12/31(土) 21:06:47.02 ] >>817 >>820 詳しく説明有難う御座います なんとなくですが理解できた気がします
845 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 18:07:18.17 ] >>842 CP=コントミンとは限らないぞ荒らし野郎。 そうやって優位性を強調するお前も十分に自己愛だよ。
846 名前:810 mailto:sage [2012/01/01(日) 20:17:39.74 ] >>806-807 >>813 >>817 >>820-821 有難う御座います
847 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 21:04:54.59 ] >>845 おやおや図星過ぎて逆ギレですか? www.info.pmda.go.jp/downfiles/ph/PDF/400315_1171001F1073_2_06.pdf これを見ても同じ事が言えますか? Qは統合失調症だったのか(ノ∀`)'`,、'`,、'`,、'`,、'`,、
848 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 21:12:26.97 ] >>847 自分の体験を語るなら、ちゃんと名前を出してやれ
849 名前: ◆QZaw55cn4c mailto:sage [2012/01/01(日) 23:45:45.85 ] >>847 www.info.pmda.go.jp/downfiles/ph/PDF/340018_1179100F1032_1_06.pdf なんですけれどもね。強力な眠剤。CPZ 入ってるのは確かだけれども。 いやまあ、ご自分のご経験を盛大にご披露なさるとはご苦労様です。はやく治るといいですね。
850 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 00:11:23.57 ] >【効能・効果】 統合失調症,老年精神病,躁病,うつ病又はうつ状態,神経症 わーおw
851 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 00:33:07.97 ] どーでもいい。
852 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 00:34:29.35 ] ベゲタミン飲んでるのかwww そりゃそうだろうなこれだけ性格がひねくれてりゃ文句の言われっぱなしで不眠症にもなるだろう そして自己愛の肥大にも関わらず現実が付いて行ってないからうつ病にもなるだろうな Qは自己愛性人格障害ではあるが既に枯れて末期状態だと思われます しかしベゲタミンwww AかBか?フェノバルビタールが入ってるから今ではあまり精神科でも 出さないんだけどなあ よほど強い不眠症なんですねwww
853 名前: ◆QZaw55cn4c mailto:sage [2012/01/02(月) 00:53:14.15 ] >>850 引用は正確に。 >下記疾患における鎮静催眠 が抜けてますよ。薬としてはふつーじゃないですか?まあ後はないぞとも言われてますけど。 >フェノバルビタールが入ってるから今ではあまり精神科でも出さないんだけどなあ まあね。芥川龍之介がピストルの代わりに使ったのがこれ(バルビタール系睡眠剤)だし、処方には一定の判断が入るでしょうねえ。 うつ病というよりは、神経症でしょうね。これは先祖代々からの申し送りで仕方がない。 まあ、そちらの分裂症といい勝負でしょう。分裂症にはお詳しいようですしね。 早く治るといいですね。
854 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 00:54:50.85 ] >>852 触れなければいいのに、毎回無駄に突っかかってきてるお前こそキチガイだ。 ネット上の知識しかないのがよくわかるわ。
855 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:01:48.89 ] >>853 いや神経症の括りじゃねーよ 見ている人はよーく分かると思うけど明らかに人格障害の領域に足を踏み込んでいる さぞかし日常生活がお苦しいでしょうなあ
856 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:02:59.38 ] 突っかかる理由は、病気持ちだから。
857 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:10:35.63 ] 添付文書の読み方も知らないのに引用とか、恥さらしもいいとこだぞ。
858 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:11:09.74 ] 突っかかられるだけの理由がQにはある それに句読点「。」を入れて書く癖がQにはある Qを擁護する分には全て「。」が入っている おっかしいなあ〜ww
859 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:17:38.44 ] 神経症と理解力が小学生未満なのって関係あるの?
860 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:18:29.06 ] 毎回Qzに粘着してるキチガイはお前で確定なんだろうけど、 ここまで酷いとは思わなかったぜ…。
861 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:19:54.70 ] >>859 ないと思う つまり理解力が常人未満なのに、「俺天才」だと思ってしまう所が自己愛なわけで
862 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:27:48.22 ] 突っかかる奴は、神経症と理解力が小学生未満だということ
863 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:29:10.55 ] 病気持ちの粘着はむごい
864 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:30:20.23 ] おっ「。」を外すほど成長したか >>862 馬鹿だなあ 俺が神経症なんてどこにも一言も書いてないのに つい自分の事を言っちゃうんですよね 怖いねえ 言葉には気をつけないと
865 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:32:59.85 ] いいかげんお前もトリップつけろ。 他の奴にとってはどっちも同レベルだよ。
866 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:35:26.78 ] トリップ付ける奴は自己愛と相場が決まっている
867 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:37:23.33 ] >>865 お前がクズ擁護派としてトリップつけてくれないかな スルーしてればすむところを、今グダグダしてるのはお前が文句つけてるからだし
868 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:39:18.45 ] なんつう言いがかりだよw 毎回いちいち粘着するのをやめるかトリップつけろっていってんだよ。 お前の方は自己愛でNG登録してもいちいち引っかかるんだよ。
869 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:40:01.84 ] >>867 だよな >>868 ようQ 元気か
870 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:44:30.57 ] >>868 今のお前はQに粘着する奴に粘着する奴ってポジションで、普通に迷惑な存在になってるから あと、Q並みに同一人物認定好きみたいだけど、俺は自己愛って言ってる人とは別だよ
871 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 01:46:53.68 ] すまん。悪かった。
872 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 02:03:15.22 ] Qに粘着する奴に粘着する奴 それに粘着する奴まで出てきたか。
873 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 02:04:15.53 ] もう、ID導入してもらうしかないだろ。
874 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 02:14:44.33 ] いや、Q一人のためにIDを導入する必要はない。 Qに出て行ってもらえば済む。
875 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 02:45:13.68 ] ID入れる方が現実的
876 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 02:49:44.67 ] ID入れたら影響が大きすぎる ただでさえ過疎板のプログラム板が使い物にならなくなっちまう ここより荒れているマ板ですらID無しだぞ
877 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 02:51:33.65 ] 続きはこちらで toro.2ch.net/test/read.cgi/tech/1258951329/
878 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 02:54:15.34 ] 事実上荒れてるのこのスレだけだろ このスレをID付きの板に移動しろよ
879 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 03:26:04.03 ] >n(n-1)(n-2)(n-3) は 2, 3, 4 の各々で割り切れるからといって、2 * 3 * 4 で割り切れるかどうかの保障はない。 こんなこと言っちゃうぐらい頭の悪い奴にバカにされたら粘着したくなる気持ちもわかる
880 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 03:46:31.66 ] >>878 てんさい
881 名前: ◆QZaw55cn4c mailto:sage [2012/01/02(月) 03:46:57.56 ] >>879 証明抜きでは、馬鹿呼ばわりはできないでしょうねえ。一目では自明じゃないし。一目で証明できるのならすくなくとも私こと QZ より頭はいいと思います。よろしければその証明の道筋を教えてください。 でもね、証明方法はだいたいわかってはいましたけどね。いわゆる再帰的定義(漸化式)を使うんだろうな、と常々思っていましたし、nCr を求めよ、という問題に対してはその再帰的求値法を回答として第一に使用していましたしね。 うっかりリロードするとまあまあスレが伸びているなあ。ちょっとあきれましたが。 ともあれ、QZ叩き側に一人変なの存在することは証明抜きで自明なのには異論ないと思うのですがどうでしょう?
882 名前: ◆QZaw55cn4c mailto:sage [2012/01/02(月) 03:59:38.38 ] >>874 という意見もあるので私はトリップをつけて >>874 に賛同する者に一定の便宜をはかっているのですけれども、それでこれですから、>>875 は現実的ではないんじゃないかなあ。
883 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 04:47:05.44 ] 誰か声のでかい人や、口当たりの良い事をいう人に付いていくだけで 本当に良いのかどうか、今から考えた方が将来の為になると思われ。
884 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 08:08:34.44 ] 真・スルー 何もレスせず本当にスルーする。簡単なようで一番難しい。 偽・スルー みんなにスルーを呼びかける。実はスルーできてない。 予告スルー レスしないと予告してからスルーする。 完全スルー スレに参加すること自体を放棄する。 無理スルー 元の話題がないのに必死でスルーを推奨する。滑稽。 失敗スルー 我慢できずにレスしてしまう。後から「暇だから遊んでやった」などと負け惜しみ。 願いスルー 失敗したレスに対してスルーをお願いする。ある意味3匹目。 激突スルー 話題自体がスルーの話に移行してまう。泥沼状態。 疎開スルー 本スレではスルーできたが、他スレでその話題を出してしまう。見つかると滑稽。 乞食スルー 情報だけもらって雑談はスルーする。 質問スルー 質問をスルーして雑談を続ける。 思い出スルー 攻撃中はスルーして、後日その思い出を語る。 真・自演スルー 議論に負けそうな時、ファビョった後に自演でスルーを呼びかける。 偽・自演スルー 誰も釣られないので、願いスルーのふりをする。狙うは4匹目。 3匹目のスルー 直接的にはスルーしてるが、反応した人に反応してしまう。 4匹目のスルー 3匹目に反応する。以降5匹6匹と続き、激突スルーへ。
885 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 08:13:32.99 ] IDを導入するとQのコテを外しての自作自演も出来なくなりますよ( ̄ー ̄)ニヤリ
886 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 08:56:36.97 ] 上下で意味のことなる文章 一般人: 人の嫌がることを進んでしましょう おまえら: 人の嫌がることを進んでしましょう 芸能人:よくキャーキャー騒がれる おまえら:よくキャーキャー騒がれる アップル:画期的な新製品 マイクロソフト:画期的な新製品
887 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 12:59:58.99 ] >>881 みたいに素直に自分の間違いを認められずにグダグダ言い訳するあたりも嫌われる理由だろうな
888 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 13:06:36.24 ] >>887 痛い思いをさせられたからって恨むのは筋違い
889 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 19:08:54.25 ] おまえらなんでQを叩いてるん?別に悪いやつじゃないじゃん
890 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 20:05:02.53 ] い-635 ちなみに、平成18年度の民主党の収支報告書だが、 電通が 690,150,988円(約6億9千万円) 博報堂が 19,425,964円 (約2千万円) 読売グループ系列(読売広告、読売メディアセンター)が 72,058,917円(約7千万円)なw フライシュマンヒラードジャパンが、1974000円かw フライシュマンの本社はアメリカにあって、アメリカ政界や企業のPRも担当してるユダヤ系の会社だなw ここが「マニュフェスト」っていう横文字を考えたんだなw そういえば、今東電と電力総連がフライシュマンを雇ってるらしいじゃないww 札束で学者ひっぱたいてテレビででたらめ言わせても年寄なんかはまだまだテレビのいうことを信じるからなw
891 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 20:05:30.13 ] >>889 ものすごく悪い奴だよ 頭も性格も
892 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 20:15:28.51 ] >>891 自己紹介
893 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 20:36:50.72 ] >>891 >>888
894 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 20:40:46.08 ] Qが恥かいてることは多々あるけど、痛い思いをさせられた奴なんていんのか?
895 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 20:47:24.45 ] 勝手に恥をかきまくっているのは傍から見ていて面白いのに、つっかかるやつはなにを恨んでいるのだろう?
896 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 21:02:42.05 ] Qは熱意がある
897 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 21:12:10.67 ] ない ただの馬鹿
898 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 21:15:43.56 ] Qの熱意はみんなが認める
899 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 21:22:13.24 ] Qはちゃんと調べるようになったかと思っていたが 再び妄想をソースにしはじめるようになったゴミ
900 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 21:24:05.58 ] Qのソースは大半がググッて出てきた他人のソースを勝手にコピペして 貼りつけてるパクリだしな たまにオリジナルがあるかと思うと馬鹿の一つ覚えでxmalloc()とか(笑)
901 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 21:25:14.34 ] >妄想をソースに たとえば?
902 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 21:30:38.12 ] >>899 toro.2ch.net/test/read.cgi/tech/1324648274/459 をみると基本は一応おさえてるんじゃない?その後の発展の方向はめちゃくちゃやけど
903 名前::デフォルトの名無しさん mailto:sage [2012/01/02(月) 22:58:51.16 ] [1] 授業単元:計算機アルゴリズムファイルへの書き込み [2] 問題文(含コード&リンク):以下の実行例のように、キーボードから友人の名前(文字列)と生年月日(yyyymmdd形式のlong型変数) を次々と読み込んで、そのデータをファイルに書きこむプログラムを作成せよ。 以下の要件を満たすとする ・書きこむのファイル名をユーザに入力させる ・同じ名前の友人の情報がすでに入力されたかどうかは確認しなくても良い。 ・同じ名前のファイルはすでに存在する場合には、内容を上書きするものとする。 ・作成されたファイルの中身は以下の実行例(catコマンドの結果)のようにするものとする。 ・以下の実行例のように,1人文のデータを入力するごとに「続けますか(yse...1/NO...0:)」のように表示を促し1が入力されたら処理を続けるプログラムとする。 [3] 環境 [3.1] OS:LINUX [3.2] コンパイラ名とバージョン:GCC [3.3] 言語:C [4] 期限:[2012年1月4日9:00まで]
904 名前::デフォルトの名無しさん mailto:sage [2012/01/02(月) 22:59:22.28 ] >>903 続き [5] その他の制限:[実行例] 書きこむファイル名:friends.txt 友人の名前:Goro 誕生日(yyyymmdd):19911001 続けますか?(yes...1/NO...0):1 友人の名前:Taro 誕生日(yyyymmdd):19890505 続けますか?(yes...1/NO...0):1 友人の名前:Akira 誕生日(yyyymmdd):19920222 続けますか?(yes...1/NO...0):0 %cat freinds.txt Goro 19911001 Taro 19890505 Akira 19920222 宜しくお願いします。
905 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 23:25:19.32 ] なんで出題者ってコンソールから入力させるやつ好きなんだろうな 不便な上に無駄に複雑で何もいいとこないのに
906 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:04:44.71 ] 複雑か?、応答プログラムとしては一番シンプルだと思うが 入力例も入力ファイルのリダイレクトをすれば毎回打つ必要も無いし
907 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:10:49.08 ] コンソールで応答させるとプログラムが状態を持つことになるから複雑になる 俺は起動パラメータに指定するほうが好きだな 入力エラーの処理を一箇所に纏められるし
908 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:12:56.48 ] コンソール以上に簡単な入力 I/F を >>905 が開発したと聞いて、やって来ました。 ※ まあ、そこそこトラップがあると言うなら同意せざるを得ないが。
909 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:14:55.50 ] 標準入出力のありがたみが分からんとは嘆かわしい
910 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:16:20.41 ] 起動パラメータだと、プログラムの出力に応じた入力ができないだろ。 例えば、起動パラメータだけで、hit & blow とか作れるのか?
911 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:27:01.37 ] 俺が言いたいのは、 C言語学習のための課題で、本筋と関係がないくせに複雑になるコンソール入力をわざわざ使うのはどうなの?ってこと はっきり言って>>903 の課題はファイルへの書き込みよりもコンソール入力部分のほうが遥かに難しいじゃん そりゃ普段必要ならコンソール入力使うわ 複雑たって経験者なら大したことないし
912 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:30:43.29 ] ゲーム等は上下左右とABボタンが最悪あればいいから 入力インターフェースとしては非常にシンプルだな ループの中でif (IsPush(UP)) { ... } とか書けばいいだけだし ただし入力インターフェースを準備するライブラリの構築とか 入力インターフェースが限定されてるが故に逆に処理が面倒になるってのはあるがw 書き込むファイル名や友人の名前、誕生日をドラクエ3の復活の呪文みたいに入力するのは苦痛でしかないw
913 名前: ◆QZaw55cn4c mailto:sage [2012/01/03(火) 00:35:45.64 ] >>903 ideone.com/gn1Vj >>899 こういう書き方にすれば「妄想をソースに」していない、ことになりますか?私としてはつまんないですけれどもね。
914 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:36:26.11 ] >>911 >>906 でも書いたが、入力リダイレクトを使えば良い program.out < data.in とか、 linuxの世界は入力・出力リダイレクトとパイプがあるから 実行ファイルのモジュール化が出来てそれぞれのモジュールをシンプルに作れて 複雑な事も出来るようになってる、あれは素晴らしい
915 名前: ◆QZaw55cn4c mailto:sage [2012/01/03(火) 00:48:03.62 ] >>914 パイプとリダイレクトは GUI 全盛の世にあっては、いささか古臭いという気がしないでもないですが。 とはいうものの、GUI にパイプの考え方がないのは惜しい。
916 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:57:08.50 ] 何か一つ難癖を付けなきゃ気が済まないんだろうなQは お前最低だよ リアルでも嫌われ者だろ?
917 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 00:57:20.21 ] レガシーおじさんだらけでキモい 下手に雑談に参加せず淡々と宿題を処理するのがいいみたいだな
918 名前: ◆QZaw55cn4c mailto:sage [2012/01/03(火) 01:02:44.12 ] >>916 私見を述べているだけですね。それを難癖とか被害妄想もいいところ。統失ですか? リアルでは天然ボケまくりの人気者です嘘です。
919 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:11:47.94 ] 開発する上でそのレガシーに触れないで済む現場ってどんなとこよ
920 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:26:22.50 ] そもそもパイプ自体はWindowsにもあるだろ って突っ込んじゃいけないのかな
921 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:32:38.09 ] がんばって初心者向けに書いた ideone.com/YP3ZT
922 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:35:57.35 ] >>920 kwsk、クリップボードのこと?
923 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:38:31.48 ] Windowsにももちろんあるな、 CygwinやWPS入れて無いデフォだとツール群が足りて無い感があるけどもやっぱり便利
924 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:40:55.89 ] >>922 コンソールで a.exe | b.exe と書くと a.exeの標準出力がb.exeの標準入力になる機能のこと |をパイプと呼ぶ
925 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:44:52.57 ] findstrは普通に便利 標準ってとこが特に
926 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:44:52.35 ] >>913 ,921 C言語難しすぎワロタwww 出題者は自分で解答作ってみたんですかね^^;
927 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:46:17.21 ] >>925 うにコードエンコーディングのファイルは探せなくね?
928 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:51:19.65 ] >>927 知らんかったわ ググッたら対処法見つけた stackoverflow.com/questions/1196883/free-program-to-grep-unicode-text-files-in-windows 脱線すまそ
929 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:53:33.36 ] >>918 と統失のQが申しております 私見が邪魔なんだよ 黙ってろ
930 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 02:35:46.57 ] >>929 おまえが引っ込めばいいんだよ
931 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 02:47:12.79 ] >>928 それで解決する内容をちゃんと理解してるのかちょっとだけ心配だよ ユニコード(というくくりでいいのか?流れ的に。)ファイルの日本語は検索できないよ。 あと、findstrは他にもいろいろ残念な気持ちになることが多いので、携帯性の高いツール群を持っておくと便利。 年明けから激しくスレ違いでスマヌ
932 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 03:17:07.02 ] >>931 utf-8だけはどう足掻いても使えないのね。 重宝してたのに残念だ。
933 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 03:17:09.31 ] >>930 とコテを外したQが申しております
934 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 07:16:49.93 ] >>933 >>930 >>929 自演乙
935 名前:デフォルトの名無しさん [2012/01/03(火) 22:27:22.56 ] [1] 授業単元: プログラミング基礎 [2] 問題文(含コード&リンク): 一番下に [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限: 2012/01/08 [5] その他の制限:プログラムを習い始めてまだ半年程度なので、出来るだけ簡単にお願いします 問: 4桁の数字を与えられたとき、4つの数字を一回ずつ使って(使用する 順序は問わない)10を作る。 使える演算は加減乗除。 例えば、 1234 --- 1+2+3+4 = 10 1234 --- 3*4-1*2 = 10 6789 --- (7+8)*6/9 = 10 6789 --- 8*(9-7)-6 = 10 6789 --- 6+8/(9-7) = 10 1199 --- (1+1/9)*9 = 10 のようにする。 4桁数字を与え、それを使って10になるような全ての数式を 出力するC言語のプログラムを作れ。 よろしくお願いします
936 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:11:48.64 ] >>935 とりあえず、4つの数字を受け取って、計算する関数をてんこ盛りに作ってみてはどうか。
937 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:37:03.82 ] >>935 RPNか。
938 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:39:20.75 ] 加減乗除+括弧?
939 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 23:50:44.56 ] およそ39万通りか
940 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:14:53.02 ] 393939
941 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:18:03.99 ] 387,072通り中の4,241個であってる?
942 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:27:07.56 ] とりあえずC#で ideone.com/4B0Sp
943 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:56:26.08 ] C#面白いな、こんなの出来るんだ
944 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 00:58:52.98 ] yield returnはマジ便利
945 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 01:02:43.57 ] Linqも使ってるよな PLinqを使うとマルチコアが即使われるので結構いい でも使い方に注意が必要だけど
946 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 01:26:09.36 ] 1199 1027 とかも、出して。
947 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 01:54:28.73 ] CreateRPNs()内のcontinueを省いたらいけるよ
948 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 05:04:55.81 ] >>935 C言語久しぶりに使ったから間違ってたらごめんね ideone.com/tslcx
949 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 09:55:55.78 ] >>935 10/10もOK?
950 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 09:56:27.67 ] >>949 O 10/01
951 名前:デフォルトの名無しさん [2012/01/04(水) 10:37:00.48 ] 935です。 >936 それでもできないことはないと思うんですが、抜けがあると思うと怖い… >937 RPNなのかなあ。問にある例をみるとなんか違う気が。。。 >938 そうですね、問題文中には括弧書いてないですが、使えるはずです >942,948 ありがとうございます!!
952 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 12:10:25.30 ] >935 愚直に効率優先で書いてみた ideone.com/aS7fd
953 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 12:26:18.16 ] >>952 端数切捨てで計算狂ってる
954 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 12:33:05.40 ] しまった。 有理数で計算しないと駄目か
955 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 15:04:14.63 ] >>935 パクらせてもらって改造した ideone.com/2TfCx 重複はなくなったはず
956 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 15:06:26.85 ] こんなん全パターン計算してみるしかないだろ。ソース見てないが。
957 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 15:18:09.92 ] いや、それは誰でもわかってるよ むしろそうじゃないやり方のソースがあるなら知りたい
958 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 15:31:45.25 ] [1] 授業単元: [2] 問題文(含コード&リンク):C++でレースゲーム ・実行イメージ ------------------------------------------- |・レースエントリー | エントリー台数を入力してください→ | | | | エントリー台数を入力してスタート。 エントリー台数で入力した台数を表示し、画面を一周してゴール。何着かをそれぞれに表示。 最後にレース終了と表示で終了。 車は走ってる最中にスピードアップしたりする。 スピードアップ中はスピードが上がってるとわかる表示にする。 C++で作る。必ずポリモーフィズムを実装。 この仕様が最低条件なのでできればこれに+α加えてもらえればうれしいです。 お手数ですが、コメントのほうもお願いします [3] 環境 [3.1] OS:Windows7 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2008 [3.3] 言語: C++ [4] 期限: ([2012年1月8日13:00まで] [5] その他の制限:お手数ですがコメントのほうよろしくお願いします。
959 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 15:39:49.49 ] >>955 括弧が綺麗になってる!すげええ
960 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 15:40:37.32 ] N個の数字と計算値が与えられたとき一つの解をできるだけ高速に求めるプログラム。
961 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 15:47:30.39 ] > 画面を一周してゴール コンソールアプリで画面一周させるってこと? それともウィンドウに描画するの?
962 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 15:52:52.22 ] ______ r〃〃〃 f7⌒ろ) l‖‖‖ || f灯 |‖‖‖ || | | |儿儿儿._」⊥厶 〔__o____o_≦ト、 . i / ⌒ ⌒ ヽ ) !゙ (・ )` ´( ・) i/ | (_人__) | \ \ `ー' / / ー- 、 . ,ィ(⊆≧リ≦⊇)〃 / rク\ . / | ̄r少}¨ ̄〃 / /′ ヽ 〃 l | l| | l| 〃 / / └ヽ / l |l | |l/″ / ! 厂 \ く, Y ! l」fレト! / | / 1 丿 | | 丿} じ’ / | / | / l | `¨ / レ′ | 真の思考停 (在位 2009年9月16日〜2010年6月8日) 民主朝の初代考停、言行不一致、虚言、脱税、 そして外交において巨大な負の遺産を築いた。
963 名前:デフォルトの名無しさん [2012/01/04(水) 15:53:34.25 ] [1] 授業単元:C言語演習 [2] 問題文(含コード&リンク):codepad.org/z9fLj3yb 3目ならべで決められた場所に○を入力(1 1とうったら真ん中に○)したいです。 上記のプログラムを改良してもらいたいですm(__)m [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: Visual studio 2010 [3.3] 言語: C [4] 期限: 今日中 [5] その他の制限: 基本なことしか習ってませんm(__)m
964 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 16:36:14.27 ] >>963 動くとこまで直したよ ttp://codepad.org/opneQIN1
965 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 16:46:36.11 ] >>963 ideone.com/rlkcp
966 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 17:18:51.27 ] >>935 で一つ見つけたらリターンするやつ。 #include <string> #include <vector> #include <algorithm> #include <iostream> using namespace std; #define ER(y,n,p) p=y.begin(); advance( p, n ); y.erase(p); #define HN sk=keisan_sub(kei,ST, y); if(sk!="") return sk; string keisan_sub(double kei, vector<string> siki, vector<double> x) { int xsz=x.size(); if(xsz==1) { if(abs(x[0]-kei)<0.01) return siki[0]; return ""; } int m,n; vector<double> y; vector<double>::iterator p; vector<string> ST; vector<string>::iterator q; for(m=0;m<xsz-1;m++) for(n=m+1;n<xsz;n++) { y=x; ST=siki; ER(y,n,p);ER(y,m,p); ER(ST,n,q);ER(ST,m,q); string s=siki[m],t=siki[n],sk; y.push_back(x[m]+x[n]); ST.push_back("(" + s + " + " + t + ")"); HN; int sz=y.size()-1, STsz=ST.size()-1; y[sz]=x[m]*x[n]; ST[STsz]="(" + s + " * " + t + ")"; HN; y[sz]=x[m]-x[n]; ST[STsz]="(" + s + " - " + t + ")"; HN; y[sz]=x[n]-x[m]; ST[STsz]="(" + t + " - " + s + ")"; HN; y[sz]=x[m]/x[n]; ST[STsz]="(" + s + " / " + t + ")"; HN; y[sz]=x[n]/x[m]; ST[STsz]="(" + t + " / " + s + ")"; HN;} return ""; } string keisan(double kei, vector<double> x) { char c[9]; int n; vector<string> siki; for(n=0; n<x.size(); n++) { sprintf(c,"%.1f", x[n]); siki.push_back(c); } return keisan_sub(kei, siki, x); } void main(){ vector<double> x; x.push_back(1); x.push_back(2); x.push_back(3); x.push_back(4); cout<<keisan(10, x)<<endl; }
967 名前:デフォルトの名無しさん [2012/01/04(水) 17:22:05.69 ] >>964 >>965 ありがとうございましたm(__)m
968 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 17:48:39.92 ] [1] 授業単元:計算機アルゴリズムT [2] 問題文(含コード&リンク): 設問1-1 y=2x2乗+3(-10≦x≦10)を刻み幅1で計算し、x、yの組を1行ごとにファイルに書き込むプログラムを作成しなさい。 設問1-2 上記設問1-1のプログラムが作成したファイルを読み込んで xとyの値をprintf文で表示するプログラムを作成しなさい。 [3] 環境 [3.1] OS:Windows vista [3.2] コンパイラ名とバージョン:visual studio 2008 [3.3] 言語:C [4] 期限:[2012年1月7日8:00まで] [5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文 繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数 条件分岐if文、要素番号idx使用の書換、データの入れ替え 条件分岐・論理演算子を用いたif文の条件、if文、else if文 switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義 引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法 関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数 文字列の代入、キーボードからの文字列入力、char型ポインタ変数 構造体・メンバ変数への数値の代入、構造体・ポインタを使ってメンバ変数を指定 ファイル操作・ファイルへのデータの書き込み、ファイルからのデータの読み込み EOFの判定は習いました。 宜しくお願いします。
969 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 17:50:51.08 ] >>966 > [3.3] 言語:C
970 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 18:01:03.59 ] >>966 absでintに切り捨てられてるぞ
971 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 18:07:59.74 ] >>960 >>1