- 1 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 04:21:39 ]
- 純真な若者に変なことを教えてしまわないように、
大学のプログラミング演習の課題をブラッシュアップしよう。
- 72 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 08:50:10 ]
- GC使えよ
- 73 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 15:21:27 ]
- メモリだけならGCでいいけど。
- 74 名前:デフォルトの名無しさん [2007/10/17(水) 10:49:14 ]
- 掛け算九九を出力しなさい。
for(i in 1:9){for(j in 1:9{ の後はどうすれば九九が出ますか? わからないんで教えてください。
- 75 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 13:16:19 ]
- その言語は何?
- 76 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 13:47:58 ]
- >>72
冗談はよしてくれ。
- 77 名前:デフォルトの名無しさん [2007/10/17(水) 18:49:58 ]
- 九九プログラム
#include<stdio.h> #define MAX 9 int main() { int i, j; for(i=1; i<=MAX; i++){ for(j=1; j<=MAX; j++) printf("%d * %d = %d\n", i, j, i*j); } return 0; } 多重ループが理解できればおk
- 78 名前:デフォルトの名無しさん [2007/10/18(木) 16:11:10 ]
- x[i+1]=0.5x(i)+1をx[1]=10を初期値としてx[100]まで求めなさい。
これのやりかたを教えてください。
- 79 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 16:56:32 ]
- >>78
double x[101] = {0, 10}; for (int i = 1; i < 100; ++i) x[i + 1] = 0.5 * x[i] + 1;
- 80 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 18:00:48 ]
- >>78
宿題を代わりにやるスレではないんだが。 ネタを振るなら、 大学名・学科名・教授名・科目名などを明らかにした上で、 問題の全文を晒してくれ。
- 81 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 13:09:45 ]
- x[i+1]-2=0.5*(x(i)-2)
だから、 x[i]=pow(0.5,i-1)*8+2 だね。あとは適当に i を決めれば?
- 82 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 10:16:22 ]
- >>81
スレ違い。
- 83 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 07:34:48 ]
- 出身学校別・国益貢献力ランキング
高専>京大>東工・理科大>大学校・図書館情報≫電通・農工≫早慶≫高卒(農・水)>高卒(工・商)≒一橋>(要再教育の壁)>中卒≒高卒(普通)>(矯正不能の壁)>ソウル大(笑)≒東大
- 84 名前:デフォルトの名無しさん [2008/02/16(土) 08:34:45 ]
- かなりスレ違いな予感がしますが投下
当方文系私大5回生です。 プログラミング入門という科目があって そこで初めてプログラミングを経験したのですが(VisualBasicをやってます) ベテランプログラマーの方々に質問です。 実技試験とか提出した課題が全て 「テキストボックスを空白にしていない(TextBox1とか入ってる)」 or 「名前書き忘れ(Form1.vb[デザイン]とForm1.vbの両方に記名が必要とのこと ちなみに提出したフォルダ名は学籍番号なので個人特定可能)」 といういずれかの理由で評価対象外となり 0点にされて単位もらえずまたもや留年の危機ww デバッグ無しで開始すると課題テーマ通り正常に動作するのですが・・・・ 開始ボタンをクリックするとテキストボックスが空白になるように 自分なりに工夫してみたつもりでしたが裏目に出た結果になりました。 名前はForm1.vb[デザイン]とForm1.vbの両方に氏名表記がないと 採点するつもりはないと断言されてしまいました。 片方あればいいと思ってたorz この採点基準はプログラマー的には普通なんですか? 「その2つは講義中に当然の常識的プログラミングマナーとして注意した」 と言いくるめられてしまったが、タイピングに必死で先生の発言なんて 聞いてる余裕なかったんだよおおお これは独り言ですが、私と同様の感覚で提出していた友人二人はちゃんと点数ありました。 なんでやねん。
- 85 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 10:34:58 ]
- そんなDQNな講師がいるレベルの大学に入った奴が悪い
だから高校のときに皆必死でより偏差値の高い大学目指して勉強するのだ
- 86 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 10:52:17 ]
- 単なる嫌がらせ。
- 87 名前:デフォルトの名無しさん [2008/02/16(土) 10:58:12 ]
- プログラミング演習にVBなんか使うところだからたかが知れてるよね。
- 88 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 12:38:45 ]
- 採点基準としてはどうかわからないけど、まあ誰が書いたかわかるようにはしておく。
- 89 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:31:16 ]
- 他人のソースぱくってて
そいつの署名が残ってたから 0点にされただけだろうな
- 90 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:18:27 ]
- ソースの冒頭に著作権表示は最低限入れとかないとダメだろ
- 91 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:33:03 ]
- // (C) 2ch
- 92 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 05:34:55 ]
- プロセス終了とともに勝手にメモリ解放されるんだからfree()とか使う必要ない。
- 93 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 11:48:12 ]
- 最後まで使うならね。
- 94 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 19:46:33 ]
- 確保と解放を繰り返すような糞設計をしなけりゃいいだけだし。
- 95 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 18:48:40 ]
- まあそうだ。処理次第だけど。
処理単位に複数プロセスにして殺せばいいか。
- 96 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 00:31:42 ]
- >>92
またfree()不要論者かよ。 すくなくとも教育なんだから、 きちんとリソースの管理をするように教えるべきだろ。
- 97 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 01:25:37 ]
- 一つ言えることは
本当に優秀で実戦的なノウハウ豊富なプログラマの人は、 他人にそれを教えることよりも、より多くのソフトウェアを産み出すことに、 限られた時間を使うだろう。 一流のプログラマとしてやっていけず脱落した人、 もしくは、疲れて引退した人でなければ、 とてもではないが、入門書を書くような暇はないだろう。 ろくな本がない理由は、そういうことだと思う。
- 98 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 03:07:49 ]
- 大学教授と低学歴マとでは書く本の格が違うのも致し方ない
- 99 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 05:48:36 ]
- >>97
俺もそう思ってた 焼酎学校にまともな教師がいないのも同じ理由らしい
- 100 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 14:53:22 ]
- 洋書の有名な本でも、書いているのはコンサルタント。
コンサルタントは机上の空論の専門家だからな。
- 101 名前:デフォルトの名無しさん [2008/07/09(水) 02:10:32 ]
- プログラマっておかしな奴多いよ
頭おかしいよ 97の考えには同意できない 脱落とか、引退とか、 所詮生きてくための職業だろうが、 なんでそんな必死になってんの
- 102 名前:デフォルトの名無しさん [2008/07/09(水) 05:30:03 ]
- こんばんは、C言語の課題で困ってます。
誰かわかる人がいれば教えてくれませんか。 ttp://uproda11.2ch-library.com/src/11100317.jpg 実行結果 データを読み込むファイル名を入力してください:input02.txt データベース内のデータを並び替えます 並び替える科目を選んでください (1)数学 (2)英語 (0)終了:1 並び替える順序を選んでください (1)昇順 (2)降順 (0)終了:1 並び替える方法を選んでください (1)単純交換ソート(バブルソート) (2)単純選択ソート (3)クイックソート (0)終了:1 データベース内のデータを先頭から順番に表示します Name: Spike Math: 45 Eng: 30 Name: Rachel Math: 55 Eng: 85 ・・・・・・・・ ・・・・・・・・ Name: Ross Math: 90 Eng: 85
- 103 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 07:37:27 ]
- >>101
同意!
- 104 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 11:02:00 ]
- 本当に優秀で実戦的なノウハウ豊富なプログラマの人は、
いちいちfreeすることに気を使うことよりも、より多くのソフトウェアを産み出すことに、 限られた時間を使うだろう。 一流のプログラマとしてやっていけず脱落した人、 もしくは、疲れて引退した人でなければ、 とてもではないが、freeを過不足なく丁寧に書くような暇はないだろう。 メモリリークしないOSやアプリケーションがない理由は、そういうことだと思う。
- 105 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 13:06:03 ]
- >>102
何が分からないのかな?
- 106 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 01:07:44 ]
- >>104
丁寧に書いてさえも、足りなかったり、余計な free() を取り除けなかったりする。 どっかの文庫のしおりにあったが、間違いを犯すのは、人間に与えられた(機械には与えられない)優れた能力だ。 丁寧さ、慎重さは、プログラマにとっては美徳だと思う。 コンパイルする前に、コミットする前に、デプロイする前に、少し思いをコードに馳せてみよう。
- 107 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 16:14:35 ]
- >>101
どんな仕事でもそうだが、第一線で働き続けるというのは難しいのですよ。
- 108 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 16:16:57 ]
- 私も入門書を書きたいとは思うのだけど、対価を払ってくれる当てがないので口に糊する仕事をするしかないのさ。
- 109 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 16:17:21 ]
- >>104
その通り。 freeを人間が管理するのは一流のプログラマのやることではない。
- 110 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 16:18:24 ]
- >>102
終わってるな。 いまどきデータベースって言ったら、なぁ。 C言語でやるこっちゃないよ。DBMS使え。
- 111 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 20:36:59 ]
- 何でもかんでもDBMS使えばいいってもんじゃないけどな
- 112 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 12:46:02 ]
- malloc/freeごときをきちんと管理できないやつは一流のプログラマとはいえないだろうよ。
あまりに複雑でどうしてもちゃんとfreeできないというならば、それはGCを使えということだ。
- 113 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 13:00:42 ]
- >>112
ちゃんとfreeできないほど複雑にしてしまうのは、一流のプログラマのやることじゃない。
- 114 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 13:19:58 ]
- 大学の演習ぐらいならな。
- 115 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 13:26:09 ]
- いやいや。
プロの仕事だからこそ、参照カウントやGCという乱暴な解決手段を避けるのですよ。 それらは問題解決に役立つ便利なものに見えて、かえって問題をややこしくするから。
- 116 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 13:42:20 ]
- 自分で複雑怪奇な設計しておいて、
複雑でどうしてもちゃんとfreeできないんだから仕方ないだろ! って音をあげつつ逆切れするのが三流プログラマ。 複雑にならないように設計し、あるいは、複雑にしろと命令されるような仕事をやらなくて済むようにするのが一流プログラマ。
- 117 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 13:48:46 ]
- C++で、コンテナ使いまくりのプログラムをCにコンバートする羽目になった洩れ。
半泣きになりながらどこでfreeするか検討したよ。 で、終わってからatexit()みたいな仕掛けでデストラクタもどきを実装すればよかったことに気づいた罠。
- 118 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 15:17:25 ]
- GCは乱暴じゃないよ。
- 119 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 22:32:52 ]
- >>92
本当ですか?
- 120 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 11:37:47 ]
- OSによる
- 121 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 19:18:55 ]
- >>120
BSDは?Linuxは?win32は?
- 122 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 13:35:49 ]
- そいつらはfreeで解放できるようなメモリなら真
- 123 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 11:43:36 ]
- メモリリークのバグを発見する手段として、
プロセスが終了する時点でfreeされていないメモリブロックの有無を確認する というのがあるのだが。 乱暴にfreeを省かれていると、そういう確認ができなくなってしまう。
- 124 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 09:26:21 ]
- リークする可能性がある、リークすると困るようなメモリならfreeするでしょう。
そうじゃなければ勝手にしろってだけでは?
- 125 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 10:30:13 ]
- >>124
どれがリークに繋がらないfree省略で、 どれがリークに繋がるfree忘れなのか、 ちゃんと管理できていればいいんだがな。 つまり、 メモリリークの有無を確認するときのみ、 前者についてfreeを呼び出すようにマクロで切り換えてコンパイルできるように・・・ ってするくらいなら、freeって直に書いてもいいんじゃないか?
- 126 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 08:46:52 ]
- >>123
そうですよね。宿題スレで p = malloc(sizeof(struct node)) + 1; と書いてしまって、自力で誤りがみつけられず、散々悩みました。 私の環境では、のミス含みでは一見、振る舞いに異常がみられず、ただリリースができない、という状況でした。 free() をきちんとかき動作確認をすることで、malloc() にミスがないことが同時に確認できるわけです。
- 127 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 10:01:46 ]
- >>126
C++にするだけで解決する問題だね。free()するかどうかは殆ど関係ない。
- 128 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 11:03:19 ]
- >>127
C++なら尚更、ちゃんとやらないと、大変なことになるぞ。
- 129 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 11:06:20 ]
- アライメント違反したら死ぬような環境ならすぐ分かるね。
- 130 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 11:54:10 ]
- >>129
今ならそうですが、はじめてみためには、free() がうまくいかないねー、くらいしかわからなかったのでした。
- 131 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 12:23:47 ]
- freeがうまく行かないって言うのは、けっこう聞きますね。
mallocが管理してるところをぶっ壊してるとか。 ものによるけど、それなりの規模のプログラムなら、 データ構造ごとにalloc/free用の関数作っちゃうから、 直にmalloc/free呼ぶことはほとんど無い。
- 132 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 14:02:19 ]
- Windows用のVC++なんかは、
デバッグビルドではヒープ破損のチェックとか自動で行われるんだが・・・。
- 133 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 14:17:54 ]
- なんかの書物に PHK malloc() の実装がありました。それをみると、今の malloc() では管理領域は簡単には壊れないようにできているようですね。
- 134 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 14:07:30 ]
- むしろ簡単に壊れてくれたほうがバグ発見が早くなる。
- 135 名前:デフォルトの名無しさん [2008/09/07(日) 05:00:14 ]
- hosu
- 136 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 12:21:50 ]
- >>133
ポインタ求む。
- 137 名前:デフォルトの名無しさん [2009/02/16(月) 13:16:31 ]
- もう話おわった?
- 138 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:46:16 ]
- 誰か上の人達にstl教えてあげて。
- 139 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:48:38 ]
- まだ終らんよ
|

|