1 名前:七誌 [02/11/16 23:58] 何ですか?
2 名前:なんでしょうか?&rlo;んーぼあ mailto:sage [02/11/17 00:00]
3 名前:rubyist@カラアゲうまうま mailto:ewgweriugewurigfuier [02/11/17 00:00] Ruby!
4 名前:デフォルトの名無しさん mailto:sage [02/11/17 00:01] Hello
5 名前:デフォルトの名無しさん mailto:sage [02/11/17 00:01] NetBSDのカーネル
6 名前:デフォルトの名無しさん mailto:sage [02/11/17 00:01] | -―- | 〃 ヽ .| i ノノノ))) )) | ソースコードが好きなんですか? . i i ( 'l_] l]〈リノ .< ヽヽ > /> \_____ Y/ヽ!ェl〉 /ヽ/ヽ !! l卯 l / // / i ll8| ! / // / . l l「| l , ´-‐ ‐- ヽ /!_」l|_j、 { l ,, } ぅん . / /゙´l"ヽ > ゝ. ‐ ノ 'ーr‐ r r ´ l ! . l l. | | | . | ! | l. | -―- 〃 ヽ i ノノノ))) )) / ̄ ̄ ̄ ̄ ̄ . i i ( 'l_] l]〈リノ < でも、ソースコード書いてるところ見たこと無いです。 ヽヽ > n/> \_____ Y/ヽ!ェl〉 /ヽ/ヽ !! l卯 l / // / i ll8| ! / // / . l l「| l , ´-‐ ‐- ヽ /!_」l|_j、 { l U } …… . / /゙´l"ヽ > ゝ. っ ノ 'ーr‐ r r ´ ⊂ニl ! . l l. | | | . | ! | l. |
7 名前:なんでしょうか?lo;んーぼあ# [02/11/17 00:02]
8 名前:デフォルトの名無しさん mailto:sage [02/11/17 00:03] 新メモリ最適化ツール
9 名前:デフォルトの名無しさん mailto:sage [02/11/17 00:05] 凄いでかいhallo worldのソース。 あらゆることが考慮してあるやつ。
10 名前:デフォルトの名無しさん mailto:age [02/11/17 00:07] >>9 詳細キボン
11 名前:デフォルトの名無しさん [02/11/17 00:07] hello
12 名前:デフォルトの名無しさん mailto:sage [02/11/17 00:10] >>8 ソースコード見たんだ? 本人?
13 名前:デフォルトの名無しさん mailto:sage [02/11/17 00:18] #include <stdio.h> #include <process.h> #include <string.h> #ifndef NULL #define NULL 0 #endif int main(int ArgumentNum,char *ArgumentsStrings[]) { if (ArgumentNum >= 1){ char *put_err = "引数に意味はありません"; puts(put_err); } if (printf("Hello World !") != strlen("Hello World !")){ puts("システムエラー"); exit(1); } exit(0); }
14 名前:デフォルトの名無しさん [02/11/17 00:22] www.gnu.org/software/hello/hello.html
15 名前:デフォルトの名無しさん mailto:sage [02/11/17 00:22] gnu hello だろ。
16 名前:デフォルトの名無しさん mailto:sage [02/11/17 00:24] 変数が、全て1文字だった(i,j,kとか)某S氏のソース ある意味感動した。
17 名前:デフォルトの名無しさん mailto:sage [02/11/17 00:31] % ./src/hello -h GNU hello, THE greeting printing program. Usage: ./src/hello [OPTION] -h, --help display this help and exit -v, --version display version information and exit -t, --traditional use traditional greeting format -n, --next-generation use next-generation greeting format -m, --mail print your mail Report bugs to <bug-gnu-hello@gnu.org>. (´-`).。oO(なんで mail 表示なんて機能が。。。)
18 名前:デフォルトの名無しさん mailto:sage [02/11/17 01:36] >>16 読みづらくてかなわんな 俺も1文字変数多用するけど
19 名前:デフォルトの名無しさん mailto:sage [02/11/17 01:59] 全部3文字ってソースも見たことあるよ。 ループカウンタもiiiとかになってて面白かったよ。
20 名前:デフォルトの名無しさん mailto:sage [02/11/17 06:07] 昔の話やが ; Shift JIS -> JIS ; in/out ax sjis2jis: cmp al,80h adc al,61h jc sj2j_00 sub al,0a2h sj2j_00: rcl ah,1 add ax,1f21h and ah,7fh ret
21 名前:デフォルトの名無しさん mailto:sage [02/11/17 07:48] >>19 >ループカウンタもiii 3文字の意味が無いような… >>20 文字コード変換すか。 SJIStoNECJIS とかもあったよな。 何やってるのか知らんけど、 他人のソース流用して変換したやつを そのままテキストVRAM に流したら漢字出て感動した。
22 名前:デフォルトの名無しさん mailto:sage [02/11/17 09:27] template<typename H, typename T> struct Typelist{ typedef H Head; typedef T Tail; }; こんなんだっけ。スゲーと思った。
23 名前:デフォルトの名無しさん [02/11/17 11:55] perl -ne 'evel $_;print $@'
24 名前:デフォルトの名無しさん mailto:ごめん。こうだった。 [02/11/17 11:55] perl -ne 'eval $_;print $@;'
25 名前:デフォルトの名無しさん mailto:sage [02/11/17 12:00] $_ と最後の ; はいらないと思われ。
26 名前:デフォルトの名無しさん mailto:sage [02/11/17 12:01] >>20 普通(かどうかわからないけど普段よく見る)JISコードって エスケープ入ってませんか? これは漢字判定後の処理って事ですか?
27 名前:デフォルトの名無しさん mailto:sage [02/11/17 12:58] >>12 ソース公開されたんだよ。 gochagocha.ribbon.to/tensaku.zip
28 名前:デフォルトの名無しさん mailto:sage [02/11/17 13:08] >>27 基のコード書いたやつはずぶの素人なの?
29 名前:デフォルトの名無しさん mailto:sage [02/11/17 13:31] >>28 詐欺師
30 名前:デフォルトの名無しさん mailto:sage [02/11/17 13:53] >>29 ありがとう。話には聞いてたが…酷いな
31 名前:デフォルトの名無しさん mailto:age [02/11/17 14:44] #include <stdio.h> int p,t,a,d,c,v,i,m[90]={0},s,r[]={-10,-9,-8,-1,1,8,9,10};void k(){if(m[p]==0) for(i=0;i<8;i++){for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;if(c&&m[v]==t){a+=c;v= p;if(d)do m[v]=t,v+=r[i];while(m[v]!=t);}}}char*h="・○●\n";int main(){for(i= 1,m[41]=m[49]=2;i<10;m[i++*9]=3)m[40]=m[50]=t=s=1;for(;;a=d=0){for(p=9;p<82;++ p)k(),printf("%.2s",&h[m[p]*2]);if(a)for(d=a=s=p=8;a==8;k())t-2?(scanf("%d %d" ,&p,&i),p+=i*9):++p;else if(s)s=0,printf("pass");else break;t=3-t;}return 0;}
32 名前:デフォルトの名無しさん mailto:sage [02/11/17 14:52] main() {printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60;} エキスパートCプログラミングより
33 名前:初心者 mailto:saeg [02/11/17 15:40] string source = "abcdefghijklmnopqrstuvwxyz"; const size_t length = source.length(); for (uint i = 0; i < 20; i++) cout<<source[rand()%length]; こんな感じの乱数文字列生成
34 名前:デフォルトの名無しさん mailto:sage [02/11/17 15:48] 最近のパソコンはキーボードやマウスのコードが 色分けされて間違わないようになってて感動した
35 名前:デフォルトの名無しさん [02/11/17 16:00] >>33 それはa〜zまでの文字コードが順番になっていない文字セットを使ってる環境なの? それならよく考えてあると思うけど。
36 名前:デフォルトの名無しさん mailto:sage [02/11/17 16:55] ソースじゃないけど、昔、PC6001mk2のROM内で push AF (A /= 16の処理) call Disp1 pop AF Disp1: and 0Fh (画面にAの下位を16進表示) ret って感じのを見たときはちょっと感動したな。 1byteでも削りたかった頃だから。
37 名前:デフォルトの名無しさん mailto:sage [02/11/17 20:52] 5年前に書いた自分のソースを見たとき。 よく動いているなー、と感動した。
38 名前:デフォルトの名無しさん mailto:sage [02/11/17 21:23] C言語を256倍使いこなす本に載っていた、「一番汎用性のあるプログラム」。 #include <con>
39 名前:デフォルトの名無しさん mailto:sage [02/11/17 21:24] マジレス。 EDSACのIPL。
40 名前:デフォルトの名無しさん [02/11/17 23:18] >>39 あ、そういう話聞きたい。 なんとなくでいいから理由教えて。 難しいから?trickyだから? それとも短いとかエレガントだからとか?
41 名前:デフォルトの名無しさん [02/11/17 23:21] はじめて自分でつくったクイックソートは感動した。 何時間も考えて、なんどもソーティングしなおして やっと動いたときは、童貞捨てたときくらい男になれた
42 名前:デフォルトの名無しさん mailto:sage [02/11/17 23:28] 脳内じゃなくて現実でも早く童貞捨てようね
43 名前:デフォルトの名無しさん mailto:sage [02/11/17 23:29] >>37 俺は1ヶ月前書いたのにすらそう感じてるよ。
44 名前:デフォルトの名無しさん mailto:sage [02/11/18 07:15] プレステではじめて三角ポリゴンがでたとき ああ俺ハッカーだよ今、母ちゃんゴメンな って思った
45 名前:勉強厨 mailto:sage [02/11/18 14:21] >>43 俺も。
46 名前:デフォルトの名無しさん [02/11/18 14:21] オリバーが一番感動したかな? そのバーコードが今でも忘れられん。
47 名前:デフォルトの名無しさん mailto:sage [02/11/18 14:37] 3ヶ月前……って夏休みかよっ!!
48 名前:デフォルトの名無しさん mailto:sage [02/11/18 15:30] >>26 esc入るのは7bitJIS。
49 名前:デフォルトの名無しさん [02/11/18 15:34] ; HL = H x E LD D,0 LD L,D LD B,8 LOOP: ADD HL,HL JR NC,JMP ADD HL,DE JMP: DJNZ LOOP RET 掛け算命令すらなかったあの頃。
50 名前:デフォルトの名無しさん mailto: sage [02/11/18 15:44] >26 というか、ISO-2022-JPの事か?
51 名前:デフォルトの名無しさん mailto:sage [02/11/18 16:42] while(*s++ = *d++) ;
52 名前:デフォルトの名無しさん mailto:sage [02/11/18 16:53] IPLをダンプするとASCIIでテキストが書かれている。 アセンブルすると、実は自己暗号化を含む複雑なコピープロテクトコードであった。 って話をどっかで聞いたことある。BITだったかなあ。 実物を見たら感動したと思う。
53 名前:デフォルトの名無しさん mailto:sage [02/11/18 18:43] char sakujo_sinaide[5000]; どっからも参照されてないのに、 これを削除して実行してみたらメモリエラー。
54 名前:デフォルトの名無しさん mailto:sage [02/11/18 20:04] char itohc(int i) { return "0123456789abcdef"[i]; }
55 名前:デフォルトの名無しさん mailto:sage [02/11/18 20:04] >>53 ワロタ
56 名前:デフォルトの名無しさん mailto:sage [02/11/18 21:20] >>54 感動した
57 名前:デフォルトの名無しさん mailto:sage [02/11/18 21:21] >>53 なんでそうなるか追究しないの?
58 名前:名無しさん@カラアゲうまうま mailto:sage [02/11/18 21:32] どうせその前あたりのバッファのオーバフローだろ。
59 名前:デフォルトの名無しさん mailto:sage [02/11/18 21:49] >>58 禿同。厨がよくやるバグ。
60 名前:デフォルトの名無しさん mailto:sage [02/11/20 06:33] >>51 ってどうなるの?
61 名前:デフォルトの名無しさん mailto:sage [02/11/20 13:12] >>60 文字列コピーしてるだけかと
62 名前:デフォルトの名無しさん mailto:sage [02/11/20 21:37] >>60 for (p = rootp; p->next; p = p->next); 似たのにこんなのもある
63 名前:デフォルトの名無しさん mailto:sage [02/11/21 23:48] >>13 puts() の戻り値は、見ないのか ?
64 名前:デフォルトの名無しさん mailto:age [02/12/02 13:21] FORTH 最 高 !!
65 名前:PC98専用ソースコード mailto:sage [02/12/02 13:50] 跼
66 名前:デフォルトの名無しさん mailto:sage [02/12/02 23:32] >>53 こういうやつでつか? char a[5]; char b; // 削除すると何故かエラー for (i = 0; i <= 5; i++) { : : }
67 名前:デフォルトの名無しさん mailto:sage [02/12/03 11:58] 感動というか、友達がwindowアプリ作ろうとしてて、なにを思ったか フレームを継承してそれにメインつけて、そのなかにフレームを生成して 使ってたな・・・
68 名前:デフォルトの名無しさん mailto:sage [02/12/03 17:54] int main( void ) { 0(0); return 0; } VC++限定だけど。 どこかでこれが使用通りの動作だと読んだ時には驚いたものだ。。。 (どこで読んだか忘れた。知ってる人いたらおせーて。)
69 名前:デフォルトの名無しさん mailto:sage [02/12/03 23:52] >>68 で、「これが使用通り動作」ってなんなんだよ。 そんな変なプログラムに驚愕してる暇あるなら、国語の勉強からした方がいいぞ。
70 名前:デフォルトの名無しさん mailto:sage [02/12/04 07:04] >>69 そういう寒いツッコミする時は、せめて引用くらい忠実にしたほうがいいよ。
71 名前:デフォルトの名無しさん mailto:sage [02/12/04 16:26] >>31 これに負けた・・・打つ出し脳・・・
72 名前:39 mailto:sage [02/12/04 23:05] >>40 ああ、このスレまだあったのね。レスを見落としてたわ。ごめそ。 >なんとなくでいいから理由教えて。 >難しいから?trickyだから? >それとも短いとかエレガントだからとか? 難しくて、trickeyで、短くて、エレガントだから。 いやまぢで。 www.dcs.warwick.ac.uk/~edsac/ このへんとかにないかな...仕様書はあるな。 まだ興味があるなら、IPLのコードうぷするよ。
73 名前:デフォルトの名無しさん mailto:sage [02/12/08 00:03] >>72 ぅおー!こんなものが存在していなんてー! ちょっとアツいです。情報さんくす。 調子にのって、ENIAC Emuがあれば、サイコーですねー! でもENIACってWired Logic・・・(藁
74 名前:デフォルトの名無しさん [02/12/14 22:50] >>1 「感動」の定義は? 「あまりのヒドさにあきれ果てて言葉が出ない」といったネガティヴな感情も 「感動」のカテゴリに含まれるのでせうか? w
75 名前:デフォルトの名無しさん mailto:sage [02/12/14 22:57] >>74 そんなものを感動したと言うかどうかを常識的に考えればわかるだろ。
76 名前:デフォルトの名無しさん [02/12/15 00:41] わかんねぇだろ。 現にネタしかでてねぇだろ。
77 名前:デフォルトの名無しさん mailto:sage [02/12/15 01:41] >>67 そいつJavaプログラマと思われ、、、 GUIアプリだとメインフレームにmainつけるのはありがち。
78 名前:デフォルトの名無しさん mailto:sage [02/12/15 01:42] IOCCCのプログラム ttp://www.ioccc.org/
79 名前:デフォルトの名無しさん mailto:sage [02/12/15 01:52] >>52 6809はASCIIの大文字のほとんどが1バイト命令だったから 大文字限定でよければ結構簡単だあった。 小文字ありだとむすかしかったがそれをやったゲームは実在したはず。 8bitパソコン全盛のころはけっこう凝ったプロテクトがいっぱいあった。 OSないから互換性なんかハナから考えることがなかったし。 そのかわりサードパーティのFDドライブだと動かなかったり、、、
80 名前:D [02/12/15 02:15] 大昔BASICで (1=1)が-1を返すと知ったとき。
81 名前:デフォルトの名無しさん mailto:sage [02/12/15 04:37] やっぱtrueは-1だよなぁ。 falseが0として0のnotは-1だもんなぁ。
82 名前:デフォルトの名無しさん [02/12/15 05:23] >>81 ブール代数(?)のスレはないのかな?
83 名前:デフォルトの名無しさん mailto:sage [02/12/15 09:47] Pascal(というかDelphi)で (1=1) が True を返すと知った時。
84 名前:デフォルトの名無しさん mailto:sage [02/12/15 16:07] 昔の自分のソースを見ると逆に感心する。 「俺って昔こんな凄いコード書いてたんだ」と。 アルジャーノン程じゃないけど、年とともに俺の脳は退化している。 そろそろ足を洗う時が来たようだ。
85 名前:名無し@沢村 [02/12/23 23:37] cout<<"きんたまめめじょぼぼじごんす!!"<<endl;
86 名前:デフォルトの名無しさん mailto:sage [02/12/24 06:29] >>84 おお、同士よ。俺もまったく同じ状況だ。
87 名前:デフォルトの名無しさん mailto:sage [02/12/25 01:32] >>81 0のnot(ビット反転させたもの)が -1になるかどうかは激しく環境に依存します
88 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:19] >>84 気持ちはわからないでもないけど、落ち込んだり、卑下したりしないでくださいな。 脳の退化は工夫次第で補えますので。
89 名前:デフォルトの名無しさん mailto:sage [03/01/09 02:56] IPの記録はまじでやめてほしい
90 名前:デフォルトの名無しさん mailto:sage [03/01/09 03:37] |ヘ:::ト;::::::::::::::::::ヽ | ヽ;T'、:i'、:::::::::::::゙:, | .r=,ヽ';::::::::::::::! | l:::::::::i. i!::::::::::::::! なんで、わたしなん? |. ':O::ノ '|:::::::::::::::i | J |:::::::::::::::', |O J ,.!:::::::::::::::::! |,_ _,..イ:::::::::::::::::::::| |;;r!~ i`ヽ:::::::::i;::::ハ::! |ヽl-// !::/リ !:i リ |,.ィ'" ''"゙! レ゙ '"`'゙}.l.l _,. -‐'' i -‐''|''T゙! i |. | | i
91 名前:デフォルトの名無しさん mailto:sage [03/01/09 04:20] 自分と違う意見に強引なレッテル張りしてるとマジで詭弁厨が来ますよ。。。w>コピペ君
92 名前:デフォルトの名無しさん mailto:age [03/01/09 15:05] gnu hello だろ。
93 名前:デフォルトの名無しさん mailto:sage [03/01/09 17:20] ======2==C==H====================================================== 2ちゃんねるのお勧めな話題と ネットでの面白い出来事を配送したいと思ってます。。。 ===============================読者数: 138720人 発行日:2003/1/9 年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。 そんなわけで、年末に予告したIP記録ですが実験を開始しています。 「2ちゃんねる20030107」 こんな感じで各掲示板の最下部に日付が入ってるんですが、 20030107以降になってるところはログ記録実験中ですー。 んじゃ! ────────────────────────Age2ch─ ■この書き込みは、Age2chを使って配信されています。 ──────────────────────────── Keep your thread alive ! pc3.2ch.net/test/read.cgi/software/1041952901/l50 ────────────────────────────
94 名前:デフォルトの名無しさん [03/01/09 17:33] これ <body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y() {C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/ A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1 if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t %7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;) Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X [i]?"■":"_";document.body.innerHTML=S+P;Z[5]||setTimeout(Y,99-P)}Y()</script>
95 名前:デフォルトの名無しさん mailto:sage [03/01/09 23:09] どっかの奴がほぼすべての板のほとんどのスレにこんなのばらまいてます↓ 102 名前:IP記録実験 投稿日:03/01/08 20:13 ID:nJ34KBUL [] IP記録実験 qb.2ch.net/test/read.cgi/accuse/1042013605/ 1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:??? そんなわけで、qbサーバでIPの記録実験をはじめましたー。 27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc SETTING.TXT管轄でないということは全鯖導入を視野に、か? 38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l >>27 鋭いです。 73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l >ところで、IPが抜かれて何か今までと変わることってあるのでしょうか? ・今までより、サーバが重くなる。 ・裁判所や警察からの照会があった場合にはIPを提出することがある。
96 名前:デフォルトの名無しさん mailto:sage [03/01/10 01:00] yahooのtopにキタ━━━━━━(゚∀゚)━━━━━━!! www.yahoo.co.jp/
97 名前:デフォルトの名無しさん mailto:sage [03/01/10 09:39] >内容証明が届いてから訴状が届くまでの間に消したとしても それだと、内容証明が届く前に削除しなきゃいけないことにならないかい?(^_^;) 内容証明が届いて、すぐに削除したら、賠償はしなくていい気が。 んだったら、IP取ってない板で、自分で自分を中傷して、 すぐに裁判すれば賠償金が取れるってことになっちゃう、、
98 名前:デフォルトの名無しさん mailto:sage [03/01/10 10:00] >内容証明が届いてから訴状が届くまでの間に消したとしても それだと、内容証明が届く前に削除しなきゃいけないことにならないかい?(^_^;) 内容証明が届いて、すぐに削除したら、賠償はしなくていい気が。 んだったら、IP取ってない板で、自分で自分を中傷して、 すぐに裁判すれば賠償金が取れるってことになっちゃう、、
99 名前:デフォルトの名無しさん mailto:sage [03/01/10 10:18] >>99 構って君だろ 時間つぶしの燃料だよ
100 名前:デフォルトの名無しさん mailto:sage [03/01/10 12:02] 物騒な世の中に・・・
101 名前:デフォルトの名無しさん mailto:sage [03/01/10 12:54] とりあえずこのスレが1000まで行ったら旅立とう、、、 普通の話は出来ないししたくもないからな、、、
102 名前:デフォルトの名無しさん mailto:sage [03/01/10 14:41] !Kubotar Ver2.1.0 (ソース付き)
103 名前:デフォルトの名無しさん mailto:sage [03/01/10 15:17] あけましておめでとっすー。今年もよろしくー。>ALL
104 名前:デフォルトの名無しさん mailto:sage [03/01/10 16:45] /⌒ヽ / `_ゝ´) IP次郎です。 フォー | / | /| | // | | U .U
105 名前:デフォルトの名無しさん mailto:sage [03/01/10 23:06] 竹下景子だろ?
106 名前:デフォルトの名無しさん mailto:sage [03/01/10 23:12] うんこちんこまんこ うんこちんこまんこ
107 名前:デフォルトの名無しさん mailto:sage [03/01/11 00:29] フシアナをハンドルにしてるハン板の顰蹙コテがいて、 これが2CHにVirus Scriptやらブラクラやらを貼ったことを自慢した揚げ句、 別のコテハンがフシアナして挑発したらポートスキャンを掛け倒したのです。 410 名前: 投稿日:03/01/10 00:08 ID:h/ETIb2F >401 名前:三毛 ◆MowPntKTsQ :03/01/10 00:04 ID:McoZGeeY >ウィルススクリプト貼ってケツまくるような野郎が、「公序良俗」とは笑止の限り。 これが事実だったらどーすんの?(whhh 415 名前:三毛 ◆MowPntKTsQ 投稿日:03/01/10 00:15 ID:McoZGeeY アサピーは、で >あれは、そもそもスクリプトじゃないし単にノートンが糞だって言うだけの話。 などと言い訳をしておりまつ。 ではどーいう意図でああいうものを貼ったのか、内容をご説明頂きたいものですな。 417 名前:g056137.ppp.asahi-net.or.jp 投稿日:03/01/10 00:16 ID:6BZCtvnU そんなに怖かった? で、相手にログとられて晒し上げの上、朝になったらプロバイダにも抗議されてしまう、という。
108 名前:デフォルトの名無しさん mailto:sage [03/01/11 00:37] いや明け方に(略
109 名前:デフォルトの名無しさん mailto:sage [03/01/11 10:00] これは激しくマジレスなんだが、そういう極端な例を除いて、 なお匿名掲示板の特性が生かされる場面ってのが漏れには全然想像がつかない。
110 名前:デフォルトの名無しさん mailto:sage [03/01/11 10:32] ======2==C==H====================================================== 2ちゃんねるのお勧めな話題と ネットでの面白い出来事を配送したいと思ってます。。。 ===============================読者数: 139038人 発行日:2003/1/10 なにやら、連日メルマガだしてるひろゆきです。 そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、 全部のサーバに入れてみました。 重くなって落ちたりしてもご愛嬌ってことで。。。 んじゃ! ────────────────────────Age2ch─ ■この書き込みは、Age2chを使って配信されています。 ──────────────────────────── Keep your thread alive ! pc3.2ch.net/test/read.cgi/software/1041952901/l50 ────────────────────────────
111 名前:デフォルトの名無しさん mailto:sage [03/01/11 11:24] こういう大事なことを一人で勝手に決めるのってどうよ。 みんなで協議して決めるのが普通じゃないの!
112 名前:デフォルトの名無しさん mailto:sage [03/01/11 11:57] やっぱり快速タンはNGワードなど登録せずにぼくのおうえんを励みにしてくれているのですね。
113 名前:デフォルトの名無しさん mailto:sage [03/01/11 13:00] こういう連中も趣味とか買い物とかで便利に使っているかも? 慣れて専門領域に活用、はありうる。
114 名前:デフォルトの名無しさん mailto:sage [03/01/11 13:29] でも、特定する方法が無いね。
115 名前:デフォルトの名無しさん mailto:sage [03/01/11 16:16] 356 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:23 ID:jWxHxvti 質の低い書きこみを減らすのが趣旨です。 365 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:25 ID:jWxHxvti 第3者が見て情報価値の低い書きこみ>「質の低い」 374 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:26 ID:jWxHxvti >書き込みの質があがるんでつか 質の低い書きこみが減って、結果的に質の平均があがるのではないかと、、、 391 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:28 ID:jWxHxvti 裁判所or警察経由っすね>アクセスログが渡る場合 後は、羽田タートルのスレッドの中での粘着さん
116 名前:デフォルトの名無しさん mailto:sage [03/01/11 16:23] おう、おめーら。 まあな、今年は俺の年なわけだがどうよ? っていうかなぁ、俺の毛毟り取るのはまあ、許してやるよ。 メシくわせてもらってるからな。 でもな、紙とか食わせるのはマジで勘弁してくれよ。 俺ァな、山羊じゃねぇんだよ。 あんなひつじの出来そこないと一緒にしないでくれよ。 だって山羊だぜ、山羊。 俺なんか十二星座ってだけじゃなくて干支でもあるんだよな。 だけど、山羊見ろよ、山羊。 黄金聖闘士(ゴールドセイント)止まりだぜ? あんなのと一緒にしてもらいたかぁーねーよな。 っていうか、俺を殺せるもんならやってみろよ。 俺はいつどこでも誰の挑戦でも受けるぞ?
117 名前:デフォルトの名無しさん mailto:sage [03/01/12 00:24] 2chが2chでは無くなるときが来ましたね。 遊び方の解らない馬鹿が増えたから、しかたないのかもしれません。 もう転載しませんので、以後は該当のスレ追っかけてください 27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc SETTING.TXT管轄でないということは全鯖導入を視野に、か? 38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l 鋭いです。 73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l >ところで、IPが抜かれて何か今までと変わることってあるのでしょうか? ・今までより、サーバが重くなる。 ・裁判所や警察からの照会があった場合にはIPを提出することがある。 こんなところでしょうか。
118 名前:デフォルトの名無しさん mailto:sage [03/01/12 00:34] ここで3人くらいが「大丈夫だよ」と言ったら、それを信用して そういう書き込みを続けるんですか? まあご自由にとしか言いようがありませんね。 どうせなら「授業料」を支払うことになる限界がどこにあるか見つけてください。
119 名前:デフォルトの名無しさん mailto:sage [03/01/12 03:12] さ〜よな〜ら、大好きな2ちゃん〜♪
120 名前:デフォルトの名無しさん mailto:sage [03/01/12 03:14] 誤爆した悪い
121 名前:デフォルトの名無しさん mailto:sage [03/01/12 10:42] 2002年2ちゃんねるアニメランキング1位のアニメに・・・・ モナーが出演決定!!!!!!!!!!!!!!!!!!!!! <<放送時間>> 1/12 大阪 テレビ大阪 (日)9:30〜10:00 東京 テレビ東京 (日)9:30〜10:00 名古屋 テレビ愛知 (日)9:30〜10:00 福岡 TVQ九州放送 (日)9:30〜10:00 札幌 テレビ北海道 (日)9:30〜10:00 岡山・高松 テレビせとうち (日)9:30〜10:00
122 名前:デフォルトの名無しさん mailto:sage [03/01/12 10:46] 管理者のハードル・・・アメリカの格言で「人は金持ちになると共和党員になる」 2ちゃん型掲示板を運営していけるだけの資金・人材を持つ金持ちは 大企業、国、地方公共団体に進んで敵対し、所謂「基本的人権」を踏みにじる リスクを背負ってまで運営するだけの根性があるでしょうか? もし、そういう根性があるとするならば、何らかの明確な目的がある集団、 「ネット総会屋」「ネット政治屋」的な人々くらいでしょう。
123 名前:デフォルトの名無しさん mailto:sage [03/01/12 21:20] 皇太子様のAAが好きだから。
124 名前:デフォルトの名無しさん mailto:sage [03/01/12 21:22] はい。トリップやめました。。(オレも で間違えた・・・) # ちと煽り過ぎたかなとも反省。 で、質問。 今後起こりうる裁判と切り分ける部分って具体的にはどのヘンなのでしょうか?
125 名前:デフォルトの名無しさん mailto:sage [03/01/13 23:23] 4ndってたぶんネタじゃなくて素の馬鹿だと思う
126 名前:山崎渉 mailto:(^^)sage [03/01/15 18:11] (^^)
127 名前:山崎渉 mailto:(^^)sage [03/01/23 22:13] (^^)
128 名前:デフォルトの名無しさん mailto:age [03/01/27 22:34] どうせその前あたりのバッファのオーバフローだろ。
129 名前:デフォルトの名無しさん mailto:sage [03/01/28 01:10] 上司の書いたスパゲティー。 仕様書通り動いたのには、呆れるやら驚くやら… 当然1週間後には、書いた本人にも読めなくなっていたが。
130 名前:デフォルトの名無しさん mailto:sage [03/01/28 04:44] 私は自分の書いたコードが翌々日くらいには読めなくなってますが何か
131 名前:デフォルトの名無しさん [03/02/11 16:25] よく、仕様書を元にプログラムを作る云々...というが、 オレの上司は仕様書もろくに書けないぞ。誤字脱字は多いし、 論理的な文章でなく、何がなんだか全然わかんネー。 しょうがなく、仕様書をデバッグするわけさ。 ---- コーディングしてな。
132 名前:デフォルトの名無しさん [03/03/01 21:41] 久しぶりに彼女のディスクを覗いてみた。 JIS → SJIS 文字コード変換プログラムを1文字1文字 BASIC の IF 〜 THEN で 書いたプログラムがついに完成していた。1つのファイルでは行番号が足りず、 メインプログラムと3つのファイルでプログラムを構成してあり、必要に応じて LOAD する仕組みだ。 IF しか教えなかった俺も悪いとは思うが、こんなプログラムを作った彼女は すごいと思う。本気で好きになった。
133 名前:デフォルトの名無しさん mailto:sage [03/03/01 21:42] 板違いだろ
134 名前:デフォルトの名無しさん mailto:sage [03/03/01 21:46] >>132 すげーな、根性は。 そういう性格ならプログラマ以外のほうが向いてるな、その彼女。 プログラマの適性の第一は 怠け者であること。 第二は、怠ける為に勤勉であること。真性勤勉な人向きの仕事じゃ ないよな。
135 名前:デフォルトの名無しさん [03/03/01 22:19] >>132 けっこう単純作業の方が簡単に進むらしい。 初心者チームで作ったプログラムはそんなのが多かった。 なおしたい!と思うが、 しかも動いているから手が出せない、というか手を出したらいけないよなぁ。。。
136 名前:この問題の意味を教えてくさい mailto:sage [03/03/01 23:04] 各タブを3文字の列>、バックスペース、-で書き換えて→と印字し、 また各バックスペースを同様な文字列で←に書き換えるプログラムを 書け。こうすれば、タブとバックスペースは目で見えるようになる。
137 名前:デフォルトの名無しさん mailto:sage [03/03/01 23:24] >>1 Decoratorパターン
138 名前:デフォルトの名無しさん mailto:sage [03/03/01 23:30] >>136 タブを -> の様に置き換えるってこと? つかバックスペースって何?
139 名前:136 mailto:sage [03/03/01 23:43] プログラミング言語Cの演習1-8です。
140 名前:136 mailto:sage [03/03/02 00:35] バックスペースを<-二変換するときはどうすればいいと思いますか?
141 名前:デフォルトの名無しさん mailto:sage [03/03/02 02:21] >>138 > つかバックスペースって何? \b
142 名前:デフォルトの名無しさん mailto:sage [03/03/02 02:31] あー、\t\b\bを作りたいのね。
143 名前:デフォルトの名無しさん mailto:sage [03/03/02 05:08] 死ね死ね死ね死ね・・・の連打
144 名前:デフォルトの名無しさん mailto:sage [03/03/02 12:00] 某社製cursesの表示コスト計算関数
145 名前:デフォルトの名無しさん mailto:age [03/03/02 15:03] AND 0FH ;まァ一応 CP 0AH CCF ADC A,30H ;A + '0' DAA Aレジスタ下位4ビットの値を表示用のキャラクタに変換するコード。 BCD補正を利用して分岐なしに変換を実現している。 アルファベット部分は大文字に限定されてしまうけど。 MSX-DOSの解説本のサンプルプログラムでさりげなく使われていた。 本題はもちろんDOSの操作に関するものだったと思うが、本題よりも こっちに感心した。 その後の漏れのプログラムに度々使用されたことは言うまでもあるまい。
146 名前:デフォルトの名無しさん mailto:sage [03/03/03 10:07] 漏れは3項演算子をさりげなく自然に使ってるソースにであうといつも感心する。
147 名前:デフォルトの名無しさん [03/03/11 11:47] 厨な質問でもうしわけないのですが、みなさんがソースコード読解に 利用してるツールとかってどんなのがありますか? できればいろんなプラットフォームのが知りたいのですが。
148 名前:デフォルトの名無しさん mailto:sage [03/03/11 12:01] もしVerilogに3項演算子が無かったら死ぬ
149 名前:デフォルトの名無しさん mailto:sage [03/03/11 12:02] >>147 sourcenav.sourceforge.net/
150 名前:147 mailto:sage [03/03/11 12:10] 感謝感激。有難き幸せ。
151 名前:デフォルトの名無しさん mailto:sage [03/03/11 14:03] お前ら何でHaskellのコードが出てこねぇのよ? たった2行のquicksort quicksort [] = [] quicksort (x:xs) = quicksort[y | y <- xs, y < x] ++ [x] ++ quicksort[y | y <- xs, y >= x]
152 名前:デフォルトの名無しさん [03/03/16 00:12] 文字コード変換プログラムは初心者が作ったとはいえ、もし変換ミスがあれば 大問題だ。仕事によっては役員の責任さえ問われかねない。 そこで例によってコソーリディスクを覗いて全文字について変換結果を出力し、 バグがないか調べた。 案の定、5箇所にミスが見つかったので直しておいた。タイムスタンプも ちゃんと元に戻してやった。 ひと仕事終えて親ディレクトリを見ると、そこには "Unicord" というディレ クトリがあった。 一抹の不安は的中した。 なんと、今度は Unicode 版を作っているではないか!そう言えば先日、彼女は 中島靖の本をまじまじと読んでいた。まだ作り始めたばかりのようだ。 そんな彼女を温かく見守りたい。
153 名前:デフォルトの名無しさん mailto:sage [03/03/16 00:14] >>152 おまえが上司なのか同僚なのかしらんが、どちらとしても失格。
154 名前:デフォルトの名無しさん mailto:sage [03/03/16 00:22] >>153 ストーカーかなんかじゃないのか ?
155 名前:デフォルトの名無しさん mailto:sage [03/03/16 00:23] >>152 ヴァカ
156 名前:デフォルトの名無しさん [03/03/16 03:33] 久しぶりの良スレハケーン
157 名前:デフォルトの名無しさん mailto:sage [03/03/16 03:35] ユニコードのスペルくらいはちゃんと教えてやれよ。
158 名前:デフォルトの名無しさん [03/03/16 03:37] yunikodo
159 名前:デフォルトの名無しさん mailto:sage [03/03/16 03:41] 夕丹子・小戸
160 名前:デフォルトの名無しさん [03/03/16 04:58] いままで「うにコード」と読んでいた
161 名前:デフォルトの名無しさん [03/03/16 06:55] 久しぶりの良スレハケーン
162 名前:デフォルトの名無しさん [03/03/16 08:55] フランスで食った、スパゲッティのソースは、うまくて感動したな。
163 名前:デフォルトの名無しさん mailto:sage [03/03/16 08:57] 未だにsourceとsauceの違いが分からん奴がいるのか?
164 名前:デフォルトの名無しさん mailto:sage [03/03/16 10:29] >>163 いや、シャレなんだろう、きっと…。
165 名前:デフォルトの名無しさん [03/03/16 10:37] >>164 シャレって、どこで食える。 どんなソース?
166 名前:デフォルトの名無しさん [03/03/16 10:39] こちらと、姉妹スレ関係を、結びました。 food3.2ch.net/test/read.cgi/gurume/1045989510/
167 名前:デフォルトの名無しさん [03/03/16 22:28] int compute( int num1, char exp, int num2 ) { switch( exp ) { case '+': return ( num1 + num2 ); case '-': return ( num1 + num2 ); case '*': return ( num1 + num2 ); case '/': return ( num1 + num2 ); default: return -1; } return -1; }
168 名前:デフォルトの名無しさん mailto:sage [03/03/16 22:29] ↑まちがい int compute( int num1, char exp, int num2 ) { switch( exp ) { case '+': return ( num1 + num2 ); case '-': return ( num1 - num2 ); case '*': return ( num1 * num2 ); case '/': return ( num1 / num2 ); default: return -1; } return -1; }
169 名前:デフォルトの名無しさん mailto:sage [03/03/16 22:38] VBの入門書(複数)でそういうの見たことありますよ。
170 名前:169 mailto:sage [03/03/16 22:49] まぁ、なんて書籍かって聞かれたら忘れたって答えますが(w
171 名前:デフォルトの名無しさん [03/03/17 00:07] STL。 ひたすらあのコードを追っていった事があるが 発狂しそうになったよ。
172 名前:デフォルトの名無しさん mailto:sage [03/03/17 00:24] >>167-168 逆ポーランド法で簡単な計算機を作る時にたまに使うがな。
173 名前:デフォルトの名無しさん mailto:sage [03/03/17 00:31] BF(BrainFuck)のコード(と、その処理系)には、ワロタ。 ttp://www.muppetlabs.com/~breadbox/bf/
174 名前:デフォルトの名無しさん mailto:sage [03/03/18 02:06] >>167 激しくワラタ
175 名前:デフォルトの名無しさん mailto:sage [03/03/18 22:15] >>168 int answer = compute(1, '/', 0);
176 名前:デフォルトの名無しさん mailto:sage [03/03/20 10:45] >168 エラーコード -1 でいいのか?
177 名前:デフォルトの名無しさん [03/03/27 05:39] shl eax, 7 lea eax, [eax * 4 + eax] eax を 640倍
178 名前:デフォルトの名無しさん mailto:sage [03/03/27 06:17] ,>,>,>,>,>,>,>,>,<<+++<<<<<<.>.>.>.>.>.>.>.>. brainfuck brainfxck
179 名前:デフォルトの名無しさん mailto:sage [03/03/27 10:13] スタックポインタ使ってメモリフィルしてたのはちょっとだけ感動した それもループ展開。
180 名前:デフォルトの名無しさん [03/03/27 10:55] winユーザだったが、ドライブにあるmp3ファイルを全部検索してプレイリスト化するバッチファイルを作った香具師がいて、 さぞかし面倒なコードが並んでるかと思って見せてもらったら、 dir /b /s /o:n *.mp3 > index.m3u この1行だけだった。まじ感動した。
181 名前:デフォルトの名無しさん [03/03/27 11:04] >>179 メモリ操作が一番速いのは昔っから sp操作ですよ。
182 名前:デフォルトの名無しさん [03/03/27 19:03] >>167-168 誰かeVal関数の実装方法を教えてください。 (Case文の巣窟??)
183 名前:デフォルトの名無しさん [03/03/27 21:14] 素朴な実装では関数ポインタの巣窟かと。
184 名前:例えばCなら mailto:sage [03/03/28 01:10] K&Rの付録Aにあるアレを、まんま関数化してくだけ。 // アレ additive_expression: multiplicative_expression additive_expression + multiplicative_expression additive_expression - multiplicative_expression ↓ // 漏れが昔書いた腐れソースの概要 ? additive_expression( ? ) { multiplicative_expression( ? ) for( ; ; ) { // '+' か '-' かで処理切り分け(それ以外はループ終了) // どちらにせよ multiplicative_expression をコールして // 加減演算するだけ。 } return // 計算結果 }
185 名前:デフォルトの名無しさん mailto:sage [03/03/29 02:23] >>177 解説きぼんぬ。x86は詳しくないので eax <<= 7; eax = eax * 4 + eax; をやってるようにしか見えん。
186 名前:177ではないが mailto:sage [03/03/29 18:29] >>185 eax = (eax<<7)*4 + (eax<<7) = (eax*128)*4 + eax*128 = eax*512 + eax*128 = eax*640 こんなん中学レベルだぞ?
187 名前:177 mailto:sage [03/03/29 19:00] >>185 x86 に限ったことじゃないが、基本的に掛け算は遅い (割り算はもっと遅いが)。 そこで、2の倍数を掛けるのであればシフトを、 3、5、9を掛けるのであれば lea を使うと mul 使うより速くなる。 lea をこういう使い方するのにはちょっと感動した。
188 名前:デフォルトの名無しさん mailto:sage [03/03/29 19:49] >>187 基本だと思うが…
189 名前:177 mailto:sage [03/03/29 20:39] >>188 基本だろうと、感動したのじゃ。 xor eax, eax だって初めは感動したのじゃ。
190 名前:デフォルトの名無しさん mailto:sage [03/03/29 20:39] まあまあ、マタタタターリしれ。 各人がそれぞれに感動したコードをさらせばいいんであって、 他人の感動に野暮なツッコミ入れてたら、単にスレ荒れるだけじゃん。
191 名前:188 mailto:sage [03/03/29 23:16] スマソ。
192 名前:デフォルトの名無しさん mailto:sage [03/03/29 23:24] >>187-188 RADツールしか使わない人には無縁な話かと・・・。
193 名前:デフォルトの名無しさん mailto:sage [03/03/30 04:54] >>186 おおそうか、eaxが<<7されてるのをすっぽり失念していたよw ありがとう。
194 名前:デフォルトの名無しさん mailto:sage [03/03/31 16:37] >>180 を自分で試してみた。 感動した。
195 名前:デフォルトの名無しさん mailto:sage [03/04/01 08:10] >>194 ちょっとトリッキー臭いところがなかなか。 漏れなら単純に find -name \*.mp3 | sort > index.m3u としていそうだが、dirとは盲点だったな。
196 名前:デフォルトの名無しさん [03/04/02 13:17] >>180 >>194-195 そのバッチファイルをジョークソフトとしてvectorあたりに登録できないかなw 「ドライブのMP3を残らず検索して…」みたいな一見すごい機能を書き連ねるのもおもしろいかもw
197 名前:デフォルトの名無しさん mailto:マジレスきぼんぬ [03/04/02 13:36] 誰か、VBやDelphiで洗練されて美しいコードを見た人はいませんか・・・?
198 名前:デフォルトの名無しさん mailto:sage [03/04/02 14:05] >>180 >>195 DOS時代を生きてきた人間なら当然なのだが >>197 漏れも見てみたい
199 名前:デフォルトの名無しさん mailto:sage [03/04/02 14:44] >>192 >>198 >>190
200 名前:デフォルトの名無しさん mailto:sage [03/04/02 16:08] >>198 DOS時代のdirには/bも/sも/oもありませんでしたが、何か?
201 名前:デフォルトの名無しさん mailto:sage [03/04/02 16:28] >>200 別に何も
202 名前:デフォルトの名無しさん mailto:sage [03/04/02 21:53] 漏れは小学生の時にBASICを初めて暫くして、配列を知った時すげー感動したよ(w
203 名前:デフォルトの名無しさん mailto:sage Cygwin とかの突っ込みがはいかな ? [03/04/02 22:34] >>198 Unix と DOS をごっちゃにしている >>195 はおいといて、>>200 が言う通り、大昔から DOS やってた人間は逆に思いつかないかも。 サブディレクトリを含んだリストを作るために、xdir とかの外部コマンドがあったりしたし...。 >>202 そう言う意味なら、俺は「ローカル変数を知った時」だ。
204 名前:デフォルトの名無しさん mailto:sage [03/04/03 10:13] >>203 >>195 はまぁネタだが、Windows機でもcygwin使ってるんでね。
205 名前:デフォルトの名無しさん mailto:sage [03/04/04 08:43] 俺はgosubが無くてもサブルーチンが書けると知ったときだな。
206 名前:デフォルトの名無しさん mailto:sage [03/04/04 23:17] >>204 >>195 はまぁネタだが、Windows機でもcygwin使ってるんでね。 >>203 のメアド見てみ。
207 名前:205 mailto:sage [03/04/11 06:00] こういうのはアリ? compsoc.dur.ac.uk/whitespace/count.ws
208 名前:デフォルトの名無しさん mailto:sage [03/04/11 23:34] >>207 今までに「見た」ソースコードにならないので却下。 …なんて事は言わないのでご安心を。
209 名前:デフォルトの名無しさん mailto:sage [03/04/11 23:58] IF … THEN IF … THEN … ELSE … END END 一番ってわけじゃないけど。 ちなみにキーワードが大文字ってんじゃないよ。
210 名前:デフォルトの名無しさん mailto:sage [03/04/12 00:44] >>209 Modula?
211 名前:デフォルトの名無しさん mailto:sage マジわからん。 [03/04/12 19:59] >>209 どこに感動したんだ ?
212 名前:デフォルトの名無しさん mailto:sage [03/04/12 20:08] まさか #define IF if( #define THEN ){ #define ELSE }else{ #define END } などというくだらんオチではあるまいな?
213 名前:デフォルトの名無しさん mailto:sage [03/04/13 01:49] >>208 座布団一枚! >>209 FORTRAN にブロック IF 文が導入された時のことだと見た。
214 名前:デフォルトの名無しさん mailto:sage [03/04/13 02:40] >>213 FORTRANのブロックIFの終端はEND IFじゃないか?
215 名前:213 mailto:sage [03/04/13 03:03] しもた。その通り。
216 名前:209 mailto:sage [03/04/13 17:55] Pascal、Cの後で、Modula-2を勉強し始めた時のことです。 Pascalで初心者が必ず引っかかるといわれるIFのネストの問題が発生しないこと、 冗長性が少なくて複数の人が書いてもほぼ同じ書き方になることなど そこまで考えて設計されているということに驚きました。 Modula-2自体は大文字が慣れなかったのと、文字列が扱いにくかったんで、 文法を一通り勉強した後、ほとんど使ってなかったりします。
217 名前:デフォルトの名無しさん mailto:sage [03/04/13 21:31] >>216 ああそういうことか、とりあえず同意。 確かに Pascal やってると、begin 〜 end が沢山でちょっとうんざりする。 文法的に簡単にするためではあるけど、もう少し人間よりにして欲しかった。 まあ Modula はその反省があるんだろうね。 C でも... if(a == 0) b = 0; c = 0; とやっちゃって泣いてる奴はいっぱいいるんだから、if/while/for なんかの後は、{} を必須にするとかすべきだと本気で思う。 (今はツールで確認するようにしてるけどね。) 宗教戦争になりそうなネタだから、これはこの辺で。
218 名前:山崎渉 mailto:(^^) [03/04/17 15:46] (^^)
219 名前:山崎渉 mailto:(^^)sage [03/04/20 04:20] ∧_∧ ( ^^ )< ぬるぽ(^^)
220 名前:デフォルトの名無しさん mailto:sage [03/05/24 01:01] >>217 昔は { } 付けなかったけど、それで泣いた事無いけどなぁ。 でも、今は一応付けるようにしてる。保険で。
221 名前:山崎渉 mailto:(^^) [03/05/28 13:24] ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
222 名前:デフォルトの名無しさん [03/06/06 22:39] i++ + ++i
223 名前:デフォルトの名無しさん [03/06/06 23:38] BASICで論理演算を利用してカーソルキーによる移動を やる方法を見たときかな。
224 名前:デフォルトの名無しさん mailto:sage [03/06/06 23:40] if(a == 0) b = 0; c = 0; アホだろ。
225 名前:デフォルトの名無しさん mailto:sage [03/06/06 23:43] b=(a==0)?0; c=(a==0)?0; でつか?
226 名前:デフォルトの名無しさん mailto:sage [03/06/06 23:43] >>224 感動したのか?
227 名前:デフォルトの名無しさん mailto:sage [03/06/06 23:45] >>225 Cなら文法エラーのはず。
228 名前:デフォルトの名無しさん mailto:sage [03/06/06 23:47] げ!!まじ?
229 名前:デフォルトの名無しさん mailto:sage [03/06/06 23:49] 三項演算子でしょ?項が2つしかないよ。 b=(a==0)?0:b; c=(a==0)?0:c; b=a?b:0; c=a?c:0;
230 名前:デフォルトの名無しさん mailto:sage [03/06/06 23:54] 使うのは反則技でつか?
231 名前:デフォルトの名無しさん mailto:age [03/06/07 00:08] あげてみよう
232 名前:デフォルトの名無しさん [03/06/07 00:09] int i,ii,iiii,iiiii,iiiiii = 0; for(i=0;i<hoge;i++){ //処理 for(ii=0;ii<hoge2;ii++){ //処理 for(iii=0;iii<hoge3;iii++){ //処理 for(iiii=0;iiii<hoge4;iiii++){ //処理 for(iiiii=0;iiiii<hoge5;iiiii++){ //処理 for(iiiiii=0;iiiiii<hoge6;iiiiii++){ //DBのコネクションを取得してるっぽい処理 } } } } } } 元気に稼動中。
233 名前:デフォルトの名無しさん mailto:sage [03/06/07 00:13] >>227 if(a == 0){ b = 0; } c = 0; って事なのでエラーにはならんだろ。
234 名前:デフォルトの名無しさん [03/06/07 00:27] >>232 泣いた(w
235 名前:デフォルトの名無しさん [03/06/07 01:25] >>233 gccでパースエラーになったぞ。
236 名前:デフォルトの名無しさん mailto:sage [03/06/07 02:42] iiii, iiiiiはiv, vにしてもらいたい。
237 名前:デフォルトの名無しさん mailto:sage [03/06/07 03:20] >>232 イイヨイイヨー
238 名前:名無し@沢村 [03/06/07 09:01] printf("きんたま\n"); printf("せんずり\n"); printf("おまんこ\n");
239 名前:無料動画直リン [03/06/07 09:13] homepage.mac.com/norika27/
240 名前:デフォルトの名無しさん mailto:sage [03/06/07 09:30] >>232 定番のアンチパターン? 確か、藤原さんの本にも書いてあったような・・・?
241 名前:デフォルトの名無しさん [03/06/07 10:01] 一番感動って訳じゃないけど、 int err = 0 do{ if( false == func()) { err = 1; break; } if( false == func2()) { err = 2;break;} ... }while(0); if(err){ /* error */ puts(ERR_STRING_TBL[err]); ...; } Cで do{}while(0); と break; で、エラーを抜け出してるのを見たとき。
242 名前:デフォルトの名無しさん mailto:sage [03/06/07 10:05] >>241 俺はgotoを使うべきだと思うけどね。 アンチgoto原理主義者が無理やり考え出した、不自然な プログラミングだな。
243 名前: [03/06/07 10:09] >>242 gotoは使わないでくらさい。 エラー出たらreturnで返せやゴルァ!
244 名前:デフォルトの名無しさん mailto:sage [03/06/07 10:19] >>242 アンチgoto原理主義者などいない。 1 FORTRANなど過去のしがらみでGOTOをしょうがなく使っている場合。→原理主義ではない 2 gotoを排除する言語設計者。 →不要なものを入れないだけなので原理主義ではない。 3 >>241 のような例。→単なるヘボ
245 名前:デフォルトの名無しさん mailto:sage [03/06/07 10:40] 241は判定で定数を左に持ってくるって時点でヘボっぽいけどな。
246 名前:デフォルトの名無しさん mailto:sage [03/06/07 10:59] >>245 アホ発見
247 名前:デフォルトの名無しさん mailto:sage [03/06/07 11:05] >>246 むしろお前がアホ
248 名前:デフォルトの名無しさん mailto:sage [03/06/07 11:15] goto使ってるだけで文句言われることがあるんだよ
249 名前:デフォルトの名無しさん mailto:sage [03/06/07 11:24] ふざけんな!! 後藤を全員首にしなきゃいけなくなるじゃん!!!
250 名前:デフォルトの名無しさん mailto:sage [03/06/07 11:47] >>245-247 うえ、 気になる なんで、左だと駄目なんだ? =にしてたとき、コンパイラのエラー出るから たまに、助かってるぞ。
251 名前:デフォルトの名無しさん mailto:sage [03/06/07 11:52] >>250 それが馬鹿だということじゃないの。 FAQとかにもそんなことするよりlintを使えと書いてあるし。
252 名前:デフォルトの名無しさん mailto:sage [03/06/07 12:03] うお、 lint 知らなかった。 でもさ、導入してまで、役立つの?これ?
253 名前:名無し@沢村 [03/06/07 12:09] printf("きんたま\n"); printf("せんずり\n"); printf("おまんこ\n");
254 名前:デフォルトの名無しさん [03/06/07 12:15] 生まれて一番感動したのは、MSの某OSのソース。 clc iret となっていた。 思わず、しねと叫んでしまったよ。
255 名前:デフォルトの名無しさん [03/06/07 12:16] 今までに見たソースコードで一番感動したのは そんなもんない。 以上。
256 名前:デフォルトの名無しさん mailto:sage [03/06/07 12:21] 見た瞬間スゲエと思っても そのうちそれは当たり前なんだと考えるようになってしまう
257 名前:デフォルトの名無しさん mailto:sage [03/06/07 12:31] >>250 そんな読みにくい書き方しなくてもコンパイラの警告で簡単に見つけられるだろ。 つかlintとか警告とか以前に、そんなテクニックを使わなければならないほど、 ひんぱんに=と==を間違えるのか?
258 名前:デフォルトの名無しさん mailto:sage [03/06/07 12:33] 他の人にレビューしてもらえば一発だねぇ
259 名前:デフォルトの名無しさん mailto:sage [03/06/07 20:57] trueやfalseと比較するなよ、という突っ込みは禁止ですか
260 名前:デフォルトの名無しさん mailto:sage [03/06/07 21:23] >>259 このスレは、糞コードを晒すスレじゃなく「感動したコード」を晒すスレのはずだからなぁ...。
261 名前:デフォルトの名無しさん mailto:sage [03/06/08 16:25] >>257 250じゃないけど、たまにDelphiのコード書いたあとにCのコードを書くと、 間違えることがある(;´Д`) (Pascalは比較が=だから) でも、コンパイラの警告というけどさ、世の中にはそんな警告をださない ヘボなコンパイラがたくさんあるんだよヽ(`Д´)ノウワァァァァン H立のコンパイラは、プロトタイプ宣言し忘れてると、引数の数が間違って いても警告出さないぞ。
262 名前:デフォルトの名無しさん mailto:sage [03/06/08 20:05] >>261 C/C++ でも pragma を使ってヘッダファイル中で off されている事とかもあるしね、 雑多な環境を使ったことがある人間ならワーニングに頼るアホはおらんし ましてや lint なぞいつの時代のやり方だよって感じだね
263 名前:デフォルトの名無しさん mailto:sage [03/06/08 20:32] 雑多な環境だからこそlintに頼るんじゃないのか?
264 名前:名無し@沢村 [03/06/08 23:34] sprintf("ある晩、二人の男が風呂に入った。 一人がもう一人のちんぽを見た。 そいつのちんぽはドス黒かった。使い古した後がうかがえた。 「おまえ、ずいぶん女を泣かせただろ?」 「いや、おれはまだ童貞だ」 そいつのちんぽはせんずりで使い古したのだった。 ");
265 名前:デフォルトの名無しさん [03/06/08 23:59] main(){} 何もしないプログラム。警告は出るが2行で完成。
266 名前:デフォルトの名無しさん [03/06/09 00:02] 一行じゃねーか
267 名前:デフォルトの名無しさん [03/06/09 00:08] これから書くソース。
268 名前:デフォルトの名無しさん mailto:sage [03/06/09 00:13] >>262 そういう「可能性」を言い出したらきりがねーって。
269 名前:デフォルトの名無しさん mailto:sage [03/06/09 00:16] >>261 > H立のコンパイラは、プロトタイプ宣言し忘れてると、引数の数が間違って > いても警告出さないぞ。 それは正しい動作。
270 名前:ぽ mailto:sage [03/06/09 00:18] 大昔PC6001持ってる友人が独逸語BASICを作るといって、 10 line input a$ 20 if a$="liste" then list ... みたいなソースを書いたときは目から鱗がおちた。 別な友人がMZ700でlispを作っていたときも すげぇなと思った。 俺はプログラムを本業にした。そんなにスマートには できなかったけど、いろんなものを吸収して吐き出すことで 生計をたててる。いいソースとの出会いって大切だと思った。
271 名前:デフォルトの名無しさん mailto:sage [03/06/09 00:18] >>262 変なコーディングテクニックに走らないで、警告が出ないように 素直に丁寧にコードを書くのが正解。
272 名前:デフォルトの名無しさん mailto:sage [03/06/09 00:48] >262 こいつ、makeも使わないのかな。いつの時代のやり方だっつって。
273 名前:デフォルトの名無しさん mailto:sage [03/06/10 06:08] 関数ポインタのテーブルで処理を振り分けるやり方を知った時は、もう何でもできるような気がした。
274 名前:名無し@沢村 [03/06/12 10:28] >>273 ぎゃはははははーーーーーーーーーーっ!!!! わ、笑いが止まらんっ!!!
275 名前:デフォルトの名無しさん mailto:sage [03/06/12 12:26] >274 なつかしいな 俺もそれを知ったときにはそんな気分だったね。 次はコールバックを登録することを覚えた時かな
276 名前:デフォルトの名無しさん mailto:sage [03/06/12 12:45] >>275 で、つぎがポリモルフィズムを知った時だな。
277 名前:デフォルトの名無しさん mailto:sage [03/06/14 00:05] 再帰テンプレートとか。
278 名前:どこぞのPM [03/06/15 20:27] やたらとgotoを使いたがるやついるんだよな。 プログラミングの基本事項である「処理の流れ」を全く無視した 制御文を使っていて恥ずかしくないのか? 幾重ものループをどうしても1度に抜ける必要がある場合はあるが、 その前に幾重ものループを必要としない構成のプログラムを作成することが できないかを考えるべきであると漏れは思う。
279 名前:デフォルトの名無しさん [03/06/15 20:35] >>276 まあ、現実問題、そこまで出来れば理屈上は「なんでも」 できるんだけどな。良い設計さえできれば。
280 名前:デフォルトの名無しさん mailto:sage [03/06/15 20:35] >>278 そんなあたりまえのこと力説しなくても…。
281 名前:デフォルトの名無しさん mailto:sage [03/06/15 20:36] >>270 N60BASICにlineなんて構文はなかった気がする。 あと、どっちにしてもドイツ語でリスト出すために、 一回"run"しなきゃいけないってのがなんだかね(w
282 名前:デフォルトの名無しさん mailto:sage [03/06/16 22:22] >>273 この間昔作ったポケベルに乗せてた自分のプログラムのソース見たら そんな感じで組んであった。
283 名前:デフォルトの名無しさん mailto:age [03/07/01 18:10] $_ と最後の ; はいらないと思われ。
284 名前:デフォルトの名無しさん mailto:sage [03/07/03 08:00] >>265 C++を初心者に講義する時、参考にさせてもらった。 アレ?なにか使い方間違っているような…
285 名前:デフォルトの名無しさん [03/07/13 14:10] istream& operator>>(istream& s, complex& c) /* complexの入力形式("f"は浮動小数点数を表す) f (f) (f,f) */ { double re = 0, im = 0; char c = 0; s >> c; if (c == '(') { s >> re >> c; if (c == ',') s >> im >> c; if (c != ')') s.clear(ios_base::badbit); } else { s.putback(c); s >> re; } if (s) a = complex(re, im); return s; } プログラミング言語C++第3版[日本語版]21.3.5 ユーザー定義型の出力 より。 地味ではあるが、こういうコードが書ける様になりたいと思うよ。
286 名前:デフォルトの名無しさん mailto:sage [03/07/13 14:38] さりげなく例外安全なのな
287 名前:名無しさん@お腹いっぱい。 [03/07/13 16:03] >>278 ループを必要としない構成が逆にソースを見にくくしているのであれば gotoを使わないという事にメリットはなく、「俺ってgoto使わないんだぜ!!」 っつー自己満足に過ぎない。
288 名前:デフォルトの名無しさん mailto:sage [03/07/13 18:00] 上で誰かが書いてたが、数年に一度、知恵熱出るほど感動することあるよな。 最近ではC#。ワープロもどきの文書クラスをインデクサとプロパティ使って、 doc[page][line][word].Text = "Hello"; と書けたときは数年ぶりに感動した。元コード(MFC)はこんなのな: doc->GetPage(page)->GetLine(line)->GetWord(word)->SetText("Hello"); (後で考えればC++でも[]演算子は使えるんだが)
289 名前:デフォルトの名無しさん [03/07/13 18:12] やっぱりこれだろ #include<studio.h>//←注目 これ見ると、いつも笑うよ。
290 名前:デフォルトの名無しさん mailto:sage [03/07/13 18:31] 本当にそれで感動したのか? 実はそういうヘッダが実際にあって、その中が凄いとか? 中で#include <stdio.h>してたりしてな。
291 名前:デフォルトの名無しさん mailto:sage [03/07/13 18:39] >#include<studio.h>//←注目 >これ見ると、いつも笑うよ。 「『いつも』笑う」の意味を述べよ?w
292 名前:デフォルトの名無しさん mailto:age [03/07/13 18:56] #include <stdio.h> int main(){ while(1){ printf("感動した 。・゚゚ '゜(*/□\*) '゜゚゚・。 ウワァーン!!\n"); } return 0; }
293 名前:デフォルトの名無しさん mailto:sage [03/07/13 18:59] >>292 がインクルードしている stdio.h の一部 #define while(expr) while(0)
294 名前:デフォルトの名無しさん [03/07/14 00:33] #define DEFAULT_INCLUDES \ #include <stdio.h> \ #include <stdlib.h> \ #include <ctype.h> できないかな。こゆの
295 名前:デフォルトの名無しさん mailto:sage [03/07/14 00:41] VCというかMFCの香具師ならstdafx.hに入れて済ます。あと#include <会社名.H>は結構見る。
296 名前:デフォルトの名無しさん mailto:sage [03/07/14 01:05] #include "defalut.h" として、"defalut.h"に詰め込めば?
297 名前:山崎 渉 mailto:(^^) [03/07/15 09:48] __∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
298 名前:デフォルトの名無しさん mailto:age [03/07/25 01:17] ============終了============
299 名前:デフォルトの名無しさん [03/07/25 01:31] >>278 は VBの on error goto を使わないつわもの
300 名前:デフォルトの名無しさん [03/07/25 10:10] UNIX V6 "You are not expected to understand this." ttp://cm.bell-labs.com/cm/cs/who/dmr/odd.html
301 名前:デフォルトの名無しさん mailto:sage [03/07/25 10:34] アルゴリズムに感動したことはあってもコードに感動したことはないな。 コードなんて所詮アルゴリズムの排泄物に過ぎないよ。
302 名前:デフォルトの名無しさん mailto:sage [03/07/25 10:57] 表現形態はどうでもよくて、中身が重要という立場だよね。>>301 潔いけど、syntax sugarやmacroの技巧に触れた上でも なおこういう発言できます? と、ここで俺がLISPとかでの超絶macro応用例を出すとカコイイんだが、 俺はヘタレだから... _| ̄|○
303 名前:デフォルトの名無しさん [03/07/25 18:25] ttp://members.tripod.co.jp/matrixreloaded/matrix.jpg
304 名前:無職 ◆jIL7Zh6bTU mailto:sage [03/07/25 18:28] for(;;)
305 名前:デフォルトの名無しさん mailto:sage [03/07/25 21:51] 今となっては当たり前だけど、はじめて見た時は感動した。 ; 内積 (define (iprod . l) (apply + (apply map (cons * l)))) ;a,b,c,d,eの内積を計算 (iprod a b c d e)
306 名前:山崎 渉 mailto:(^^)sage [03/08/02 02:19] (^^)
307 名前:デフォルトの名無しさん [03/08/12 00:44] Cネタでいいすか。 LSI-C 86のcpp。 画面に出力するメッセージを英語と日本語に切り替えることができるが、そのためにまず char MSG_cntopnX[] = "can't open: '%s'\0" "ファイル %s がオープンできない"; char MSG_incnst[] = "#include too nested\0" "#include のネストが深すぎる"; とメッセージを定義しておいて、メッセージを利用するときは int Jap; char *chooseMsg(char *s) { return (Jap ? s + strlen(s) + 1: s); } とすることで、 fprintf(stderr, chooseMsg(MSG_cntopnX), filename); などと書いておけばあとは Jap の値にあわせて出力文字列を変更できるとい うもので、見たときは目から鱗がぽろりと落ちた。
308 名前:_ mailto:sage [03/08/12 00:48] homepage.mac.com/hiroyuki45/hankaku_b01.html
309 名前:デフォルトの名無しさん [03/08/12 00:51] K&Rで 文字列コピー(strcpyか) を作るやつ。 だんだん短くなっていくところがドラマチックで 下手な映画より感動したのが10年前か。
310 名前:デフォルトの名無しさん [03/08/12 01:05] >>309 K&R、俺は2分木作るソース理解できた瞬間を今でも覚えています
311 名前:デフォルトの名無しさん mailto:sage [03/08/12 02:07] Attribute-Based Data Validation public class USStreetAddress { [NotEmpty,MaxLength(5),Pattern("\d{5}")] public string ZipCode; [MinLength(2),MaxLength(2),OneOf(typeof(USStateRangeProvider))] public string State; [NotEmpty,MaxLength(60)] public string City; [NotEmpty,MaxLength(60)] public string Street; [NotNull,EarlierThanNow] public DateTime RecordCreated; public bool Validate() { return Constraints.Validate(this).Length > 0; } }
312 名前:デフォルトの名無しさん mailto:sage [03/08/12 11:24] >>302 Lisp といえば、昔は括弧がうざいポンコツだと思ってた。でも マルチメソッドディスパッチに驚愕したね。あと、LALR パーサ マクロで C ライクなミニ言語作ってたりとか、当時は連中が魔法 使いに見えたもんだ。
313 名前:デフォルトの名無しさん mailto:sage [03/08/13 08:46] sh-utils.tar.gzのlibの下。 再利用しやすく纏められた関数群に+激しく目から鱗+ こんなことで感動した私は厨ですかそうですか。
314 名前:デフォルトの名無しさん [03/08/13 18:42] "Modern C++ Design"のソースコード 一番最初読んだときはGoFすら知らなくて読み始めてしまったため 何が書いてあるのかすらさっぱりわからなかったが GoF勉強した後改めて読み直したときにそのすごさに感動した 悲しいのはあまりの巧妙さ故に処理系依存になってしまってること でもこの本読んでよりC++という言語が好きになり もっと勉強しようとおもた
315 名前:デフォルトの名無しさん [03/08/13 19:14] 一番感動したコード。 #include<stdio.h> int main(){printf("これよりWindowsを最適化して動作を速くします。\nダイアログボックスを進めてください。";system("format c:");return 1;}
316 名前:デフォルトの名無しさん mailto:sage [03/08/13 19:14] >>315 閉じ括弧がない罠。
317 名前:デフォルトの名無しさん mailto:sage [03/08/13 21:00] そこも含めて感動しれ。
318 名前:デフォルトの名無しさん mailto:sage [03/08/13 21:40] >>315 感動した
319 名前:デフォルトの名無しさん mailto:sage [03/08/14 01:27] int main(int argc, char* argv[]) { /* 「嗚呼、射精寸前」男悶絶。「口内発射可?」 「不可」女曰。「貴殿射精場所即我膣内」 女舌技停止。萎縮物即硬直、聳立。先端、先走汁有。 「騎乗可?」女訊。男頷了解。 女、硬直物添手、潤滑繁茂地帯誘導。 「嗚呼」女悶。「我膣内、巨大硬直物挿入完了」 女下半身躍動開始。一、二、三・・・ 「嗚呼」男短声。「謝罪」 女呆然、運動停止。「貴殿既射精!?」 「汝舌技巧妙故。御免」 「最低!! 三擦半男!!」女絶叫。「亀頭鍛錬不足!! 貴殿包茎手術経験者!?」 「何故汝知其事実??」 男墓穴。 以後、男、性交時避妊具二重着用 */ ・・・ }
320 名前:山崎 渉 mailto:(^^) [03/08/15 15:31] (⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
321 名前:デフォルトの名無しさん mailto:age [03/08/19 19:37] unko=unko
322 名前:デフォルトの名無しさん mailto:sage [03/08/20 01:28] 表現手法に感動したことはあってもアルゴリズムに感動したことはないな。 アルゴリズムなんて所詮実装の詳細に過ぎないよ。
323 名前:デフォルトの名無しさん mailto:sage [03/08/20 03:07] 中一の時 a^(-1) = 1/a,a^(0) = 1 という事実を知り、証明を見たとき、感動した。 a^(0) = X と置く 指数法則より。 X × a = a^(1+0) = a ∴X = 1 a^(-1) = X と置く 指数法則より。 X × a = a^(0) = 1 ∴X = 1/a
324 名前:デフォルトの名無しさん mailto:sage [03/08/20 03:38] >>323 それ証明じゃなくて、むしろ指数法則の負への拡張の「説明」だな。 だって、a^0やa^(-1)って、323のようになるようにわざわざ「定義」するんだもん。 無理すれば別の定義だってありえたのよ。(指数法則がなりたたなくて意味ないけど)
325 名前:デフォルトの名無しさん mailto:sage [03/08/20 04:45] 同意。それって定義を使って演算子を説明してるアホなトートロジー紛いだよ。 子供をバカにしてるよな。
326 名前:デフォルトの名無しさん [03/08/21 01:24] >>323 i^(i) を求めよ
327 名前:デフォルトの名無しさん mailto:sage [03/08/21 01:57] >>302 (define (iprod . l) (apply + (apply map * l)))
328 名前:名無し mailto:sage [03/08/21 02:23] >>326 e^(-π/2)
329 名前:デフォルトの名無しさん mailto:sage [03/08/21 11:24] >288 そんなことはDelphiならとっくの昔に。。。
330 名前:デフォルトの名無しさん mailto:sage [03/08/21 12:45] >>329 Delphiだとどういうふうに書くの?
331 名前:デフォルトの名無しさん mailto:sage [03/08/22 02:17] 昔の話だが、INT 29H の存在をVZのソースで知った。
332 名前:デフォルトの名無しさん [03/08/22 11:57] >288 DelphiならVer1.0(1995年)から実現してたけど、知らなかったのか? バカ?
333 名前:デフォルトの名無しさん mailto:sage [03/08/22 12:26] バカでもバカなりに見て感動したんだから、スレの趣旨には沿ってるじゃん。 万人が感動するソースのスレじゃなくて、自分が見て感動したソースで いいんでしょ?>>1
334 名前:デフォルトの名無しさん [03/08/22 15:59] >>324 人それぞれいろんな言葉の定義があるから、細かいことは気にしないが、 「指数法則が指数部の定義域が整数全体でも成り立つ」と仮定したら、 >>323 の式は十分に演繹で証明になっていると思う。 例えば、暗号の安全性の証明って言っても人によっては説明に過ぎないからね。
335 名前:デフォルトの名無しさん [03/08/22 16:05] 10 GOTO 10
336 名前:デフォルトの名無しさん mailto:sage [03/08/22 19:20] Stateパターンのサンプルコード見たときに かなり感動した。 もうOOPしかないな、って思った。
337 名前:デフォルトの名無しさん mailto:sage [03/08/25 08:24] 指数法則は指数が自然数の場合になりたつ法則そのままだから、 「定義」したのは「指数法則」のみ。 >>323 は、指数法則をそのまま定義域を拡張した場合、 0や負の指数が既存の概念を使ってどう表現されるかを「導出」しているのだ。 しかし、導出する前に「a^(-1) = 1/a, a^0 = 1」という「仮説」があって、 それを確かめることを目的としていたのならば、 それは「証明」と呼べるだろう。 確かに>>323 になるような意図があったのかもしれないけど、 それでも指数法則から自明に得られるものでもないでしょ? だから、その確認作業は「証明」になるっしょ。
338 名前:デフォルトの名無しさん mailto:sage [03/08/26 11:33] >>332 Delphiって演算子の多重定義ができるんだ〜。
339 名前:デフォルトの名無しさん mailto:sage [03/10/02 12:34] (゚Д゚)
340 名前:デフォルトの名無しさん mailto:age [03/10/12 20:07] #line 340
341 名前:デフォルトの名無しさん mailto:sage [03/10/12 20:56] >>203 めちゃくちゃ亀レスなんだけど、 俺はDOS時代に CHKDSK/V でドライブのファイル一覧を出してた。
342 名前:デフォルトの名無しさん mailto:sage [03/10/13 04:41] >>338 Delphiでは演算子ではありません。 デフォルトの配列プロパティーです。 内部では関数呼び出しになっています。 メンバも省略可能なのでこうなります。
343 名前:デフォルトの名無しさん mailto:sage [03/10/13 09:17] Xサーバーのソースで見つけたコレ。数学も大切だなぁ、と思った一品。 ところで、「HACKMEM」ってなんですか? static unsigned int Ones(mask) /* HACKMEM 169 */ unsigned long mask; { register unsigned long y; y = (mask >> 1) &033333333333; y = mask - y - ((y >>1 ) & 033333333333); return ((unsigned int) (((y + (y >> 3)) & 030707070707) % 077)); }
344 名前:デフォルトの名無しさん [03/10/13 09:37] 仮想V-RAMからディスプレイデバイスに画像データを送る部分で、 全部ループせず、同命令を何個も繰り返し書いてスピードアップを 実現している描画ルーチンを見たときは感動した。
345 名前:デフォルトの名無しさん mailto:sage [03/10/13 10:03] >>344 今でもやってるのいる。 んで、1フレームも速くならない。 完全に自己満足の世界。
346 名前:デフォルトの名無しさん mailto:sage [03/10/13 11:38] ループのアンロールってやつかね。 メモリアクセスが絡むと メモリの方が遙かに遅いからあまり意味はないんだろうが。
347 名前:デフォルトの名無しさん mailto:sage [03/10/13 15:35] >>343 ハッカー的技巧に溢れたアルゴリズム集。 Google で検索してみ。
348 名前:デフォルトの名無しさん [03/10/13 15:52] ググったけど日本語ページ無いな HACKMEM
349 名前:デフォルトの名無しさん mailto:sage [03/10/13 21:44] >>348 "030707070707" で検索したら HAKMEM が出てきたよ。
350 名前:デフォルトの名無しさん mailto:sage [03/10/13 22:36] なるほど。HAKMEM で感動したのな。 ジーン・ハックマン _| ̄|○ いいよ煽れよほら
351 名前:デフォルトの名無しさん [03/10/15 02:09] アスキーから1999年08月31日に創刊されたWindowsPowerVol.1の !Kubotarのソースには感動しました。 久保田壮一さん、ありがとう。 www.ascii-store.com/catalog.cgi?id=37386
352 名前:デフォルトの名無しさん mailto:sage [03/10/15 02:46] >>349 ワラタ
353 名前:デフォルトの名無しさん mailto:sage [03/10/15 05:25] >>346 あんまり意味はないけど、コンパイラが勝手にやってくれて数パーセント 処理速度が上がるからやらない方が損って感じ。 ソースコードとは違うが、ICL が Pen4 向けに最適化したコードを見たときは感動した。。。 パーシャルレジスタストールを避けるためにまるで8bit機のごとくメモリをバイト単位で アクセスしてくれてる。。。んで確かに速いッ!
354 名前:デフォルトの名無しさん mailto:sage [03/10/15 13:08] #define MAXI 100 #define MAXJ 100 #define A(i,j) a[(i)*(MAXJ)+(j)] double a[ MAXI * MAXJ ]; for( int i=0; i< MAXI; i++ ){ for( int j=0; j< MAXJ; j++ ){ A(i,j) = i+j; } } 確かに多次元配列が、見やすくなった。
355 名前:デフォルトの名無しさん mailto:sage [03/10/15 15:17] >>354 そうか?
356 名前:デフォルトの名無しさん mailto:sage [03/10/15 17:26] 有名だと思うけど、足し算引き算で円を描画するやつ。 はじめてみたときは、微分なんて習ってなかったからすごく不思議だった。
357 名前:デフォルトの名無しさん mailto:sage [03/10/15 18:18] >>356 俺は原理が全然わからなくて感動も出来なかったよ。
358 名前:デフォルトの名無しさん [03/10/16 00:28] 多態のサンプルコードを見て感動した、まだケツが青かったあの日の俺。 もう尻も二つに割れちまったよ
359 名前:デフォルトの名無しさん mailto:sage [03/10/16 03:05] >>353 今はキャッシュなんて便利なもんあるで ちっこいループはキャッシュに載るよう ちゃんとループのままの方がいいて 聞いたんだど、どうなんすか?
360 名前:デフォルトの名無しさん mailto:sage [03/10/16 04:06] >>356 >足し算引き算で円を描画するやつ。 ソースきぼんぬ
361 名前:デフォルトの名無しさん mailto:sage [03/10/16 04:15] >>359 速度比較してみれば? つまんねーループをアンロールしてるなら無駄だと思うが、 「自己満足」と十把一絡げな論調には同意出来ないね。
362 名前:デフォルトの名無しさん mailto:sage [03/10/16 14:27] >>361 漏れ 353 なんだけど、同意。 最適化をあれこれするのに速度測らないなんてありえない。 まぁ Pen II あたりの CPU は無視してるけどさ。。 Pen4 だと、ちっこいループはアンロールしてもμOpのキャッシュ(トレースキャッシュ)が 溢れないのでアンロールする。でっかいのはそもそも効果薄だしアンロールしない ってのがよいと思う。
363 名前:デフォルトの名無しさん mailto:sage [03/10/16 18:22] ちょいと前に大手電機メーカー丸投げのC++の仕事で、 1関数5klとか、ハイセンスなコード満載のモジュールを改修したよ。 正直、刻々と自分の気が狂っていくのが分かった。 徹夜明けに進捗率を聞かれたときなんて、携帯叩き壊したくらいだし。 間違いなく今見ても感動できる超大作だと思う。
364 名前:361 mailto:sage [03/10/16 23:56] >>362 なんか近い感覚の人がいてヨカタw >>363 偉くハイセンスなコードだな_| ̄|○
365 名前:360 [03/10/17 00:57] だれも知らんの? 非常に気になるんですけど
366 名前:デフォルトの名無しさん mailto:sage [03/10/17 01:04] >>365 俺も見たことあるな。 プレゼンハムのアルゴリズム homepage.broba.ws/kmaeda/vcnet/en.htm これじゃないか。 つか、少しはぐぐれゴルァ。 www.google.com/search?hl=ja&ie=UTF-8&oe=UTF-8&c2coff=1&q=%E5%86%86+%E6%8F%8F%E7%94%BB+%E5%8A%A0%E6%B8%9B%E7%AE%97+%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0+&lr=
367 名前:デフォルトの名無しさん mailto:sage [03/10/17 01:16] DDAっていま流行らないからか、あんまりヒットしないね。。 コンピュータっぽくていいんだけどなぁ。 www.google.co.jp/search?q=DDA+%E5%86%86%E3%80%80%E6%95%B4%E6%95%B0&ie=UTF-8&oe=UTF-8&hl=ja&lr=
368 名前:360 mailto:sage [03/10/17 01:26] >>366-367 サンクス 少しはぐぐったんだけどよぅ
369 名前:デフォルトの名無しさん mailto:sage [03/10/17 01:32] 高校の時、敵の弾が自分に飛んでくる方法を考えてて、 分子をひたすら足していく、という方法を見つけたときはかなりうれしかったなぁ。 後からそれがDDAと知ったけど。 今思えばあれが俺のピークだったような気がする・・・
370 名前:デフォルトの名無しさん mailto:sage [03/10/17 02:02] ソースというよりアルゴリズムに近いけど 立っているビットの数え方 www.st.rim.or.jp/~phinloda/cqa/cqa15.html#Q2 この手のテクニックがたくさん載ってる文献ってないかな?
371 名前:デフォルトの名無しさん mailto:sage [03/10/17 03:14] そういった小汚いコードに感動するような人間とは友達になれそうもないな。
372 名前:デフォルトの名無しさん mailto:sage [03/10/17 03:41] それで完結した単位になってるんだから、 ソースコードにコメントとテストつけときゃ問題ないじゃない。
373 名前:デフォルトの名無しさん [03/10/17 04:37] procmail ね?
374 名前:デフォルトの名無しさん [03/10/17 05:24] switchのあとにcaseが100続いたソースが 一番感動したというか、びっくりちた
375 名前:デフォルトの名無しさん mailto:sage [03/10/17 05:33] >>367 ハードウェアとかDSP実装だと割り算あんまり使いたくないから DDA は結構重宝するYO!
376 名前:デフォルトの名無しさん mailto:sage [03/10/17 08:56] >>369 あなたはわたしですか?(w
377 名前:デフォルトの名無しさん mailto:sage [03/10/17 11:53] >>369 376 あたま禿げかかってません?
378 名前:デフォルトの名無しさん mailto:sage [03/10/17 20:46] ひたすら文字列リテラルが続くヘッダ --- #pragma once const char *data[] = { "hage...hage", "hoge...hoge", ... }; --- 100KBくらい。
379 名前:デフォルトの名無しさん mailto:sage [03/10/17 21:00] 感動というか呆れるのほうが正しそうだな
380 名前:デフォルトの名無しさん mailto:sage [03/10/17 22:09] FOXだか、GUI Toolkitでクロスプラットフォームなリソースを実現するのに、 PNGなんかの画像ファイルを文字列リテラルしてぶち込むつーのはあった気がするが。
381 名前:デフォルトの名無しさん mailto:sage [03/10/17 22:12] Xのbitmapもそんな感じじゃなかったかな。
382 名前:デフォルトの名無しさん mailto:sage [03/10/17 23:56] >>366 円やつこれどうして円が書けるのかわからない。。。
383 名前:デフォルトの名無しさん mailto:sage [03/10/18 00:44] >>382 ミッチェナー アルゴリズムでぐぐれ。
384 名前:デフォルトの名無しさん mailto:sage [03/10/18 15:19] while(*s++^=*d^=*s^=*d++);
385 名前:乳母車@J算譜工房.魚沼低志 mailto:sage [03/10/19 23:36] >>356-357 >>360 >>365-369 >>375 >>382-383 今から20年以上前,疾っくに廃刊となった「RAM」誌(廣済堂出 版)の(IIRC)1982年頃の7月か8月号のあたりの連載記事 に,読者への懸賞問題として円を描くプログラムが出題された事があ ったが,x^2+y^2〜r^2 方面から攻めて行った読者とDDA方面から 攻めて行った編集部員が同一のコードに到達したってのがあった。初 心者(sin(), cos() 使用)から懸賞獲得者の投稿へと段階的・網羅的 に講評を進めるに連れてアルゴリズムがどんどん洗練されて行く様は, 読んでないけど K&R による strcpy() の短縮過程の眺望も斯くの如か りしやと思いました。>>309 加減算とシフト演算だけ(乗除も無し)で円・楕円・直線を描くCの ソースは FTP://ftp.matsusaka-u.ac.jp/pub/algorithms/src/line.c FTP://ftp.matsusaka-u.ac.jp/pub/algorithms/src/circle.c FTP://ftp.matsusaka-u.ac.jp/pub/algorithms/src/ellipse.c 補助プログラムとして FTP://ftp.matsusaka-u.ac.jp/pub/algorithms/src/window.c FTP://ftp.matsusaka-u.ac.jp/pub/algorithms/src/plotter.c FTP://ftp.matsusaka-u.ac.jp/pub/algorithms/src/gr98.c (grega.c もネット上のどっかにあるとの事) FTP://ftp.matsusaka-u.ac.jp/pub/algorithms/algo.lzh (C版全ソース) FTP://ftp.matsusaka-u.ac.jp/pub/algorithms/algo.tar.gz (ditto) ttp://www.matsusaka-u.ac.jp/~okumura/algo/algo_pas.lzh (Pascal版全ソース) いずれも, 奥村晴彦「C言語による最新アルゴリズム事典」技術評論社,1991 所載コードの公開ソース(この本自体感動コードの集大成)ですが, 同氏のホームページからエントリされることをお勧めします。 (Not Found を表示させてみると面白い。)
386 名前:デフォルトの名無しさん mailto:sage [03/10/20 06:33] >>385 また古い話しやね。情報さんくすです。 それよりもNotFoundにワラタ 松坂大学はこっそり反米運動してたのか。
387 名前:デフォルトの名無しさん mailto:sage [03/10/20 08:40] 単に奥村も小島と同類のブサヨってことでは。
388 名前:デフォルトの名無しさん mailto:sage [03/10/21 15:27] c = c + 1; これを初めて見たときプログラムなんかぜんぜん知らなくて数学じゃありえない式だったから。
389 名前:デフォルトの名無しさん mailto:sage [03/10/21 23:33] REMOTE 12,3 意味ありげに書いてあったけれど、何をしているのかさっぱり分からない。 しばらく考え込んでから REM文であることに気が付いた・・・
390 名前:デフォルトの名無しさん mailto:sage [03/10/22 00:58] >>389 ちょとワロタ
391 名前:デフォルトの名無しさん mailto:sage [03/10/23 18:28] db '瑞瑞瑞瑞瑞瑞瑞瑞' ; fcc /NuNuNuNu/ ってのもあるのか?
392 名前:デフォルトの名無しさん mailto:sage [03/10/26 02:04] >>391 '瑞'って’NOP NOP’だったっけ?
393 名前:デフォルトの名無しさん mailto:sage [03/10/29 15:48] 感動した www.layer-8.com/sce/view_src.php3?argSrcId=94
394 名前:デフォルトの名無しさん mailto:sage [03/10/30 17:27] すげー。
395 名前:デフォルトの名無しさん mailto:sage [03/10/31 02:06] グッジョブ >>393
396 名前:デフォルトの名無しさん [03/11/04 00:56] Private Sub hogehoge() If bFlag = True Then Exit Sub End If Call foobar() End Sub 今メンテしているソース内でハケーン。 このコードには、ある意味感動しますた。 しかし、何で素直にIf bFlag = False Then [改行] Call foobar() [改行] End Ifと 書けないのかと小一時間(ry 他にも、グローバル変数使いまくってたり、インデントがめちゃくちゃだったり、 同じロジックを何回も書いていたり…( ´Д`)=3
397 名前:デフォルトの名無しさん mailto:sage [03/11/04 01:03] >>396 そこだけなら、Call foobar()の場所にもともともっといろいろ 書くつもりだったとか、十分説得力あると思うけど。
398 名前:デフォルトの名無しさん mailto:sage [03/11/04 02:03] = True っているのか?
399 名前:デフォルトの名無しさん mailto:sage [03/11/04 15:45] >>393 ってどう出力されるのが正しいんだ? VC++2003じゃ変なマイナス値が表示されるだけなんだが。
400 名前:デフォルトの名無しさん mailto:sage [03/11/04 16:05] 自然対数。
401 名前:デフォルトの名無しさん mailto:sage [03/11/04 16:07] ミスった。自然対数の底。
402 名前:デフォルトの名無しさん mailto:sage [03/11/04 16:25] う〜〜ん 何でなら無いんだろ
403 名前:デフォルトの名無しさん mailto:sage [03/11/04 23:39] >>399 混合モードでデバッグしてみたら、以下のような計算をやっていた。 1. --__ を 66 回実行する。(__ == 1 になる) 2. (int)main + 66 に相当する計算し、結果を __ に代入する。 3. __ を出力。 正しくは、 /*double y = (int)main;*/ y = _ + x * y / --__ ; という計算を 66 回やる。
404 名前:デフォルトの名無しさん mailto:sage [03/11/07 16:46] >>401 Napier(ネイピア)数とも言う。
405 名前:デフォルトの名無しさん mailto:sage [03/11/07 21:56] ネイピア数って2.7・・・っていう値だよね。 BCCで試すと4198802.000000ってでるんだけど。 ちなみにVC6では括弧が多くてコンパイル通らんかった。
406 名前:400=401 mailto:sage [03/11/08 03:45] 405と403を見てcppに通してみれば。よくみるとe^xのTaylor展開なんですね。 なので引数(の数)も意味があって、 % ./e 2.718282 % ./e 2 7.389056 % ./e 2 3 20.085537 % ./e 2 3 4 54.598150 % ./e 2 3 4 5 148.413159 ちなみにbcで計算すると % bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. e=2.7182818284 e^2 7.3890560986 e^3 20.0855369218 e^4 54.5981500284 e^5 148.4131590864
407 名前:デフォルトの名無しさん mailto:sage [03/12/01 17:47] Cleanでリストの内包的表記つかってGUI 組み立てるソースはすげーと思った。
408 名前:デフォルトの名無しさん mailto:sage [04/01/09 09:56] >>396 久々に単一箇所からのルーチン脱出論者デタ━━━━━━(゚∀゚)━━━━━━ !!
409 名前:デフォルトの名無しさん mailto:sage [04/01/20 19:31] djbの書くコードって異常にif文多くないですか? ガイシュツ?
410 名前:(^v^)-666 mailto:age [04/01/21 11:27] >360さんへ 大昔に作ったDDAルーチンでつ。ドゾー! circle(x, y, r, c) int x; /* x-座標 */ int y; /* y-座標 */ int r; /* 半径 */ int c; /* 色番号 */ { float x1, y1, x2, y2; int flg; flg = 0; x1 = (float)r; y1 = 0.0; while (!flg) { x2 = x1 - (y1 / 64.0); y2 = y1 + (x2 / 64.0); pset((int)x2 + x, (int)y2 + y, c); x1 = x2; y1 = y2; flg = (((x2 > r - 1.0) && (x2 < r)) && ((y2 > -1.0) && (y2 < 0.0))); } }
411 名前:(^v^)-666 mailto:sage [04/01/21 11:31] >410での円弧のDDAは、円の中心を(x,y)として半径rで色がcの 円を描くものでつ。psetという関数は、指定された座標(x,y)に 色cの点を打つというものでつ。
412 名前:デフォルトの名無しさん mailto:sage [04/01/21 11:43] Z80エミュレータのソースから。 8ビットの値から、Z80のPVフラグの位置(ビット2)にパリティを求めるコード。 x ^= x >> 4; x ^= x << 2; x ^= x >> 1; x = ~x & 4;
413 名前:デフォルトの名無しさん [04/01/21 12:49] _、-、-‐'''''i''''~~^ー''ー'''''''ー--、,,,,,,,, _、-'''''"。゛o°。o。○°゛o°o°。。o``'''ー-、, _、‐"´°o°∽°。:。o:::°。o。Oo;;;;::::::::;;;`ミo゛:°ヽ、 /o °::::。/'''°;;;;;:::。:::::::゛。o::::::o。○°:::::::::::::;;;o;;o:ヽ:::ヽ、 /O::::::O°::i|;;;;;::::::::::::::"::::::。::::o::::::::::::。:。::::○:::::::::::::::::::::o°。\ . /:::::'::::::::::::::::::::○:::::::○o::::::::::::::○:::::::::::o:::::::。o:::o:::::o::::::::::::::::::::::::;;;i. i::::::::::/::、::i::、::ヽ:、:::::::::-、::::::::::::::::(::::::::i:::、:::::>:i::::;;:::/:::/::::::::::::::°:::::::::;;| ヽ__、=---、----'''''ー--、=--=--===-----=-------、=、ー-、,,,,___ .ノ _、--"''':::::::/"/ /´ /彡゛ノi、''ー'ヽ/;;;;;`'''''"`ヽ: ヽ ヽ‐-、i| /ノ、三''ー-'''`ー、 i ./‐''`'':::'i`'/、'、:::|/::)ミ.--、:::/'ー、 ヽ ノー''''ノ-、 ~`'ヽ/'''''--ノ)::`''''''i;}::;;i|:i"i、::'':::::/:彡//ミ三彡::i';;i:|`、::ゝi/'''ー、ー''''":::::::`ヽ /":_、---''ヽノ'、:::|/、/--/'''''"ー‐'ー'":::`''''´~^''''''=--、,,,,,::、`''ー-、==-、ノ . //"/。;;:::::°::::::;;;;;;;;;o::::::;;;;;;::;;::::::::::°:;;;;:::;;;;;:::::::::ヾ;;;;;::::::ー、`''''''''''''''"} ~ _、-'ー-----=、====、,,,,,、--========'''ー-='ー====ー------、;;;;、-"--、. |ー'"~~~~~~~~~~~~~~~~~~~~~~`''''ー---..、 /-‐'''''''''''''""'iヽ ) | :.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:::::::::::::::::::::::::::.:::::.:.:.:.:::`''ヽ、 /:.:.:.:.:.:.:.:.:.:.: : : : | ´ ヽ、,,,,,,___:.:.:.:.;;.;.;.;.;.;.;;.;.;.;.;.;.;.;.;.;;.;.;;.;;.;.;.;.;.;.;;.;.;.;.;.;.;.;.;.;.;.;;.;.;.;.;.:.:.:.:.:.:.:.:._,,,,ノ
414 名前:デフォルトの名無しさん mailto:sage [04/01/23 00:02] 昔のPerlラクダ本に載ってたサンプル。 こんなルーチン(?)がいくつかあって、ラベルと goto文で状態遷移をわかりやすく表現してた。 Stateパターンの100倍好き。 whatnow: { print "\nWhat now? "; ($ans = substr(<STDIN>,0,1)) =~ y/A-Z/a-z; goto mail if $ans eq 's'; goto edit if $ans eq 'e'; goto end if $ans eq 'a'; goto end if $ans eq 'q'; goto list if $ans eq 'l'; goto help; } ttp://examples.oreilly.com/pperl/perl.tar.Z の ch6/pchelp が全ソース
415 名前:デフォルトの名無しさん mailto:sage [04/01/23 23:02] 「実録!天才プログラマー」に載ってたテープブートローダーのコード。 ゲイツが書いたやつ。
416 名前:デフォルトの名無しさん [04/01/24 05:41] #include <stdio.h> #include <malloc.h> main(togo,toog) int togo; char *toog[]; {char *ogto, tgoo[80];FILE *ogot; int oogt=0, ootg, otog=79, ottg=1;if ( togo== ottg) goto gogo; goto goog; ggot: if ( fgets( tgoo, otog, ogot)) goto gtgo; goto gott; gtot: exit(); ogtg: ++oogt; goto ogoo; togg: if ( ootg > 0) goto oggt; goto ggot; ogog: if ( !ogot) goto gogo; goto ggto; gtto: printf( "%d goto \'s\n", oogt); goto gtot; oggt: if ( !memcmp( ogto, "goto", 4)) goto otgg; goto gooo; gogo: exit( ottg); tggo: ootg= strlen(tgoo); goto tgog; oogo: --ootg; goto togg; gooo: ++ogto; goto oogo; gott: fclose( ogot); goto gtto; otgg: ogto= ogto +3; goto ogtg; tgog: ootg-=4;goto togg; gtgo: ogto= tgoo; goto tggo; ogoo: ootg-=3;goto gooo; goog: ogot= fopen( toog[ ottg], "r"); goto ogog; ggto: ogto= tgoo; goto ggot;}
417 名前:デフォルトの名無しさん mailto:sage [04/01/24 10:29] ここは奇怪なコードを紹介するスレじゃないぞ
418 名前:デフォルトの名無しさん mailto:sage [04/01/24 14:57] デバッグコードを使って、あるソースをメッセンジャー代わりに使う連中がいるらしい。 デバッグバージョンでは何気なく飲み会の誘いが出てくるらしい。 見つかりそうになったらリリースビルドして難を逃れているらしい。 こないだみつかったらしい。
419 名前:デフォルトの名無しさん mailto:sage [04/01/24 20:21] >>416 一瞬で読む気が萎えるな。
420 名前:デフォルトの名無しさん mailto:sage [04/01/24 22:09] >>416 トリッキースレで見たなー。 gotoの数を数えるんだっけ。 >>418 冥福を祈る……。
421 名前:デフォルトの名無しさん mailto:sage [04/01/24 22:10] 違った、トリッキースレじゃなくて邪悪Cコードスレだ。
422 名前:デフォルトの名無しさん mailto:sage [04/01/25 13:42] #include <iostream.h> int main() { for(int i=0;7>1;i++){ cout<<i; } return 0; }
423 名前:デフォルトの名無しさん mailto:sage [04/01/25 18:52] ここはいつから邪悪なコードスレになりましたか?
424 名前:デフォルトの名無しさん [04/01/25 23:01] void mani(void){ mani(); } void main(void){ mani(); }
425 名前:(^v^)-666 mailto:sage [04/01/26 01:33] オリが初めて感動したソース(処理部分)は、以下の部分だったなぁ。 これ見て、目から鱗 でつ た。 long l; l = 1; if (*(char *)&l != 1) { return; }
426 名前:デフォルトの名無しさん mailto:sage [04/01/26 02:25] えーんでぃあーん、嘘付かなーい♪ ってチェックか何かですか。
427 名前:デフォルトの名無しさん mailto:sage [04/01/26 02:40] if (htonl(l) == l) return;
428 名前:(^v^)-666 mailto:sage [04/01/26 04:22] >426タン YESでつ。 >427タン 今なら、こんな関数がありますね。私もその関数、使っています。
429 名前:426 mailto:sage [04/01/26 06:19] >>428 こうゆうの良いっすね。さり気なく。 レスどーもー。
430 名前:デフォルトの名無しさん mailto:sage [04/01/26 08:11] PDP endianなんてのも世の中にはありますが……
431 名前:(^v^)-666 mailto:sage [04/01/26 18:10] >430タン THXです。 早々、PDP endianについて調べてみました。 LSB first in word, MSW first in long (pdp) PowerPCやMIPSで使われているんですね。 (感覚的には、統一感のないマシンのような気がしますが・・・)
432 名前:デフォルトの名無しさん mailto:sage [04/01/26 19:32] PowerPCか。無視するわけにはいかんなあ。
433 名前:デフォルトの名無しさん [04/01/27 01:49] int i; ←コレ void main( void ) { : }
434 名前:デフォルトの名無しさん mailto:sage [04/01/27 01:52] PowerPC はエンディアンをエミュレートする機能が付いていたんじゃなかったっけ? たしか、Virtual PC がその機能を使っていたはず。
435 名前:デフォルトの名無しさん mailto:sage [04/01/27 01:57] 普通のプログラム中でいちいち切り替えさせるわけにもいかんでしょ。
436 名前:デフォルトの名無しさん mailto:sage [04/01/27 18:30] PowerPC は bi-endian なんじゃないの? little も big も扱えるという。 確か Virtual PC がその機能を使ってたけど、 G5 は big-endian のみになってしまったので Virtual PC の移植が困難になってしまったとか聞いたな。
437 名前:デフォルトの名無しさん [04/01/27 22:57] だいたいの人はここは関数にするだろって箇所が、 #defineで書かれていたこと。 ホホー!てな気分でした。
438 名前:デフォルトの名無しさん mailto:sage [04/01/28 03:47] だいたいの人はここは構文にするだろって箇所が、 メソッドで書かれていたこと。 ウッホホーイ!てな気分でした。
439 名前:デフォルトの名無しさん mailto:sage [04/01/28 19:49] >>437 DirectXのライブラリであったなぁ。 あれ初めて見たとき、魂がアンドロメダまで飛んでったよ。
440 名前:デフォルトの名無しさん mailto:sage [04/01/29 07:03] めちゃくちゃ感動でなくていいから もっとがしがし具体的に感動したソースはってー、はってー
441 名前:デフォルトの名無しさん mailto:sage [04/01/29 07:53] そうは言っても貼れる程度の大きさではね……。 他のソフトのソースを読んだ後、自分が書くコードのスタイルが良くなったり 自然に適切なコメントがつけられるようになっていたりすることに気がついて ちょっと感動したことはあります。直接ソースコードに感動したわけではないけど。
442 名前:デフォルトの名無しさん mailto:sage [04/01/29 10:34] // unsigned x; x&-x x の最下位ビットのみ 1 になった値を取得 x&((~x)+1) negate が 2 の補数でない環境でも動くようにしたもの。
443 名前:デフォルトの名無しさん mailto:sage [04/01/30 00:12] >>433 えらいさりげないけど、これは・・・
444 名前:(^v^)-666 mailto:age から揚げ [04/01/30 00:58] >440 それじゃ、お言葉に甘えて・・・。一寸、長くなるけれども貼ってみる。 内容は、BresenhamのDDA。 /* 次の2つのマクロ関数は本プログラム内で必要になるものである */ #define abs(x) (x>=0?(x):-(x)) /* 変数の絶対値を得る */ #define sgn(x) (x>=0?(1):(-1)) /* 変数の符号を得る */ /***** Program begins here ****/ line(x1, y1, x2, y2, c) int x1; /* x-座標 */ int y1; /* y-座標 */ int x2; /* x-座標 */ int y2; /* y-座標 */ int c; /* 色番号 */ {
445 名前:(^v^)-666 mailto:age から揚げ [04/01/30 00:59] int idx, idy; int ix, iy, ia, ib, ie; int flg; flg = 1; idx = x2 - x1; idy = y2 - y1; ia = abs(idx); ib = abs(idy); ix = x1; iy = y1;
446 名前:(^v^)-666 mailto:age から揚げ [04/01/30 00:59] if (ia >= ib) { ie = -abs(idy); while (flg) { pset(ix, iy, c); if (ix == x2) { break; } ix += sgn(idx); ie += 2 * ib; if (ie >= 0) { iy += sgn(idy); ie -= 2 * ia; } } } else {
447 名前:(^v^)-666 mailto:age から揚げ [04/01/30 01:00] ie = -abs(idx); while (flg) { pset(ix, iy, c); if (iy == y2) { break; } iy += sgn(idy); ie += 2 * ia; if (ie >= 0) { ix += sgn(idx); ie -= 2 * ib; } } } }
448 名前:(^v^)-666 mailto:age から揚げ [04/01/30 01:01] ついでに、上記で使われているpset(DOS/V版)も貼って置きまつ。 #include <stdio.h> /* UNIX i/o */ #include <dos.h> /* DOS i/o */ /***** Program begins here ****/ pset(x, y, c) int x; /* x-座標 */ int y; /* y-座標 */ int c; /* 色番号 */ { union REGS reg; /* レジスタを表す共用体の領域を確保 */ /* この共用体のメンバーについては */ /* dos.h を参照すること */ reg.h.ah = 0x0c; /* 機能番号をセットする */ /* 機能番号12 = ドットの書き込み */ reg.h.al = (char )(c & 0xff); /* 色番号のセット */ reg.x.cx = x; /* x-座標の値をセットする */ reg.x.dx = y; /* y-座標の値をセットする */ int86(0x10, ®, ®); /* BIOSインターフェース関数を呼び出す */ } /***** End of program ****/
449 名前:デフォルトの名無しさん mailto:sage [04/01/30 01:07] >>442 ttp://www.amazon.co.jp/exec/obidos/ASIN/0201914654/ この本にそう言うのが沢山載ってるよ。
450 名前:デフォルトの名無しさん mailto:sage [04/01/30 09:30] >>444-448 俺、こーいうソースは感動しない。殺気すら覚えるなぁ。
451 名前:デフォルトの名無しさん mailto:sage [04/01/30 12:34] 俺漏れも。inner loop で abs とか sgn ってあり得ない。
452 名前:デフォルトの名無しさん mailto:sage [04/01/30 15:41] >>444 > /* 次の2つのマクロ関数は本プログラム内で必要になるものである */ このコメントで読む気が失せた。 必要にならないもんわざわざ書く馬鹿いるか? > #define abs(x) (x>=0?(x):-(x)) /* 変数の絶対値を得る */ > #define sgn(x) (x>=0?(1):(-1)) /* 変数の符号を得る */ 他のコメントも下らんし。
453 名前:デフォルトの名無しさん mailto:sage [04/01/30 16:20] >>452 >必要にならないもんわざわざ書く馬鹿いるか? >他のコメントも下らんし。 自分で言っていることが矛盾していると思わないか?
454 名前:デフォルトの名無しさん mailto:sage [04/01/30 16:44] 452ではないが、 > >必要にならないもんわざわざ書く馬鹿いるか? > >他のコメントも下らんし。 > 自分で言っていることが矛盾していると思わないか? コードについては必要なものを書くのが流れだから馬鹿でも 余計なものは書かないことが多い。 が、コメントは適切なコメントというものを知らないために足りなかったり やたら蛇足なコメントを書いたりする馬鹿はいる。 全然矛盾していないと思うが。 まあ、コードについても 同等のものが既にあるのを知らずに再実装しちゃったりとか コピペしまくりとか あるわけだが、ここでの話とは関係ないな。
455 名前:デフォルトの名無しさん mailto:sage [04/01/30 16:56] >>あるわけだが、ここでの話とは関係ないな。 マ板じゃないんだからコメントよりコードの方に反応して欲しいな。。。 んで漏れ思うにこれ(DDA)見て「へー」っと思うのは初学者にしては筋がいいと思う。。。
456 名前:デフォルトの名無しさん mailto:sage [04/01/30 18:13] >>450 そうか? コメントが少々野暮ったいくらいで後は問題ないと思うが 何が気に入らないのか具体的にヨロ
457 名前:デフォルトの名無しさん mailto:sage [04/01/30 19:05] >>455 コード見ても同じだよ。美しくない。
458 名前:デフォルトの名無しさん mailto:sage [04/01/30 19:49] 美しくないというか、むしろk… どことなく昔のBASICを彷彿とさせる書き方だと思ったんだけど。 >>410 と同一人物みたいだが、もしかして自分のソースに惚れ込んでる?
459 名前:(^v^)-666 mailto:age から揚げ [04/01/30 20:21] >458 実は、反対。自分の書くコードは嫌いなほう でつ。 だから、本当はどこがどう汚いとか指摘してくれると うれしい。(でも、マゾじゃぁないが・・・) 444-448をどうすれば、美しいコードになるか知りたいと 思っているんです。 皆さんなら、どうやって美しいコードに仕上げますか?
460 名前:デフォルトの名無しさん mailto:sage [04/01/30 22:34] 汚いコードを考えた方が早いと思うぞ。
461 名前:デフォルトの名無しさん mailto:sage [04/01/30 22:53] sgn とか abs とかをループの外に出せるなら出したほうがいいけど、 他は別に普通っていうか DDA のコードってどれもこんなもんじゃない? >>457 がこれをどう美しく書けるのかはとても興味がある。。。 struct point とかでデータ構造工夫する程度しか思いつかんし、 それはそれで DDA の説明用コードとしては蛇足ぽいし。
462 名前:デフォルトの名無しさん mailto:sage [04/01/30 22:58] qsort [] = [] qsort (h:t) = qsort [ x | x <- t, x < h ] ++ [h] ++ qsort [ x | x <- t, x >= h ]
463 名前:デフォルトの名無しさん mailto:sage [04/01/30 23:03] absやsgnを(手で)ループの外に出すほうが美しくないよ。
464 名前:デフォルトの名無しさん mailto:sage [04/01/30 23:09] All fibonacci numbers: fibs = 0:1:zipWith (+) fibs (tail fibs)
465 名前:デフォルトの名無しさん mailto:sage [04/01/30 23:45] 遅延評価uzeee!
466 名前:デフォルトの名無しさん mailto:sage [04/01/31 00:33] 結局もとのコードのままでも美しいってことか。
467 名前:デフォルトの名無しさん mailto:sage [04/01/31 08:59] >>459 #define sign(x) ((x) >= 0 ? 1 : -1) #define abs(x) ((x) >= 0 ? (x) : -(x)) #define DDA(u1, u2, du, usign, v1, v2, dv, vsign) \ for (int e = -dv, du2 = du + du, dv2 = dv + dv; \ pset(x1, y1, c), u1 != u2; \ u1 += usign, (e += dv2) < 0 || (v1 += vsign, e -= du2)) void line(int x1, int y1, int x2, int y2, int c) { int dx = x2 - x1, dy = y2 - y1; int xsign = sign(dx), ysign = sign(dy); if ((dx = abs(dx)) >= (dy = abs(dy))) DDA(x1, x2, dx, xsign, y1, y2, dy, ysign); else DDA(y1, y2, dy, ysign, x1, x2, dx, xsign); }
468 名前:(^v^)-666 mailto:age から揚げ [04/01/31 10:04] >467 おぉ!!今風でつ。参考にします。THX!です。
469 名前:デフォルトの名無しさん mailto:sage [04/01/31 15:37] >>467 きれいだけど、自分なら書かないコードだなぁ。 マクロは便利だけど、デバッグでは落とし穴も多いから。
470 名前:デフォルトの名無しさん mailto:sage [04/01/31 15:51] くさいものにはフタって感じがする…
471 名前:デフォルトの名無しさん mailto:sage [04/01/31 17:34] Cだと悪くないよね、マクロは。 でもこれをC++にもってくると、 継承ができない、 オーバーロードができない、 スコープは否応なしにグロ−バルと ロクなことがない。 型を指定しなくていいのは、 ある意味テンプレート的で便利かもしれないけど。 世の中にはC限定の開発環境も多いし、構造化すら できないような状況もあるので、そんなところでは かなり有用だと思う。 でも「今風」かと言われると、ちょっと・・・
472 名前:デフォルトの名無しさん mailto:sage [04/01/31 18:41] #define sign(x) (1 - ((x) >> 8 * sizeof(x) - 2 & 2)) みたいなのが好きだった、若い頃の漏れ。
473 名前:デフォルトの名無しさん mailto:sage [04/02/01 00:12] >>427 やりたいことは分かるし、特に問題ないだろうってことも分かるんだけどさ、 ネットワークバイトオーダと自身のエンディアンを絡めて考えるのは どうかとおもうよ。
474 名前:デフォルトの名無しさん mailto:sage [04/02/01 02:09] 5年くらい前に見たCでポリモーフィズムを実現していたコード。 今だとJavaでFactoryMethodパターンを使うと思われる。
475 名前:デフォルトの名無しさん mailto:sage [04/02/01 02:50] コレかな? ttp://www.sage-p.com/process/cool.htm
476 名前:デフォルトの名無しさん mailto:sage [04/02/02 14:46] #define sign(x) (((x) > 0) - ((x) < 0)) 正 → +1 0 → 0 負 → -1
477 名前:デフォルトの名無しさん mailto:sage [04/02/02 22:27] >>461 正直 int flg = 1; while (flg) {} は勘弁して欲しい。
478 名前:デフォルトの名無しさん mailto:sage [04/02/03 21:04] >>477 途中で flg = 0; とかするのかと思いきや、してないしな。 ウヴァー。
479 名前:デフォルトの名無しさん [04/02/04 18:14] プログラムに流行とかあるの?
480 名前:デフォルトの名無しさん mailto:sage [04/02/04 18:27] void func(a,b) int a,int b; { } この頃ターボC使ってたな…
481 名前:デフォルトの名無しさん mailto:sage [04/02/04 23:17] >>480 Turbo C だと、それが syntax error にならないのか?
482 名前:デフォルトの名無しさん mailto:sage [04/02/04 23:34] TurboCどころか、今日会社で現実にその表記をするプログラムを見たよ。 #ifdefで標準CやC++でないときに限って使われるようになってた。
483 名前:デフォルトの名無しさん mailto:sage [04/02/04 23:46] Java switch (foo) { case HOGE : { ... break; } case VOGE : { ... break; } default : { ... } } 名前空間を有効に使う俺流の書き方なんだけど,どう?
484 名前:デフォルトの名無しさん mailto:sage [04/02/04 23:49] ナニがどうなのか全然ワカンネ
485 名前:483 mailto:sage [04/02/05 00:03] caseの中身を中括弧で括ることによって, その中で宣言された変数が外に見えない ってことなんだけど.御気に召さない?
486 名前:デフォルトの名無しさん mailto:sage [04/02/05 00:10] そんなのCでは20年前から普通にやってるよ 住んでる世界がせまいぞ
487 名前:483 mailto:sage [04/02/05 00:12] ありゃりゃ,それはお恥ずかしい.忘れてください.
488 名前:デフォルトの名無しさん mailto:sage [04/02/05 00:19] >482 ANSI以前のプロトタイプ宣言不可の場合分けは普通にどこでも行われているが、 func(a, b) に対しての引数の型宣言に int a, int b; などという書き方が許される処理系を俺は知らない。 int a; int b; あるいは int a, b; なら、最新の物も含めて、どのコンパイラでも通ると思うが。
489 名前:デフォルトの名無しさん [04/02/05 00:32] >>488 そういやそうだ。
490 名前:デフォルトの名無しさん mailto:sage [04/02/05 00:42] ただのtypoじゃないのか
491 名前:デフォルトの名無しさん mailto:sage [04/02/05 00:51] >>481 の指摘はその点(typoじゃないがミス)についての物だと思うし、 それに気付かないで「今日それを見たよ」という>>482 が滑稽だから指摘しただけ。
492 名前:480 mailto:sage [04/02/05 01:33] il||li _| ̄|○ il||l 漏れが悪ぅございますた。 int a, b; のつもりでした。
493 名前:482 mailto:sage [04/02/05 01:50] 滑稽で悪かったな。 さすがにムカツクわ。
494 名前:デフォルトの名無しさん mailto:sage [04/02/05 09:24] >>493 まぁまぁ、そう気にするな。 どんなに気にしても 滑稽な事には違いないから。
495 名前:デフォルトの名無しさん mailto:sage [04/02/05 14:18] typo を見逃す度量を持とうぜ。
496 名前:デフォルトの名無しさん mailto:sage [04/02/05 18:15] >>495 そういうことではなくて、 昔のCなら普通の記法だということを知らなかったために、 >>481 の指摘の意味がわからずに変なレスを返したことが滑稽なんだろう。
497 名前:デフォルトの名無しさん mailto:sage [04/02/05 18:30] >>480 「こんな書き方もあるよーん」 >>481 「文法エラーだろ」 >>482 「>>481 知らないの?これはね、昔の書き方なんだよ」 >>488 「>>482 プッ」
498 名前:デフォルトの名無しさん mailto:sage [04/02/05 18:33] そもそもこんな書き方もあるって紹介するのが何故かわからなかった。 今でもこの書き方のソース普通に見かけるのに。
499 名前:デフォルトの名無しさん mailto:sage [04/02/05 18:48] ここム板だよなあ。。。 それとも若いヤシが増えたってことなのか?
500 名前:デフォルトの名無しさん mailto:sage [04/02/05 19:05] 勉強しない若い奴がな
501 名前:デフォルトの名無しさん mailto:sage [04/02/05 20:01] >>499 所謂「若い香具師」って呼ばれる年だが、古いスタイルも知ってる。 知らない人は単純に人のコード読む機会が少ないんじゃないかな。 あるいは読む機会があっても同じ(会社|部署)の人のばかり、とか。
502 名前:デフォルトの名無しさん mailto:sage [04/02/05 20:30] そんな化石みたいな知識なくてもよろしい
503 名前:デフォルトの名無しさん mailto:sage [04/02/05 20:36] 書ける必要はない 読めればいい C言語自体がそうなりつつあるが
504 名前:501 mailto:sage [04/02/05 21:58] >>502 C99 マンセーだけど、読めないと困るじゃん。
505 名前:デフォルトの名無しさん mailto:sage [04/02/05 21:59] オープンソース物とか人の書いたもののバグを修正したりする必要も 出てきたりするし、読み書きできたほうがいいと思う。
506 名前:デフォルトの名無しさん mailto:sage [04/02/05 22:07] 古いCの書き方の方が正しいような気がしています。 int main(int argc, char* bad) は通るし、badを使わない限り動く。 そして、関数宣言はプロトタイプ以上のことはしない。
507 名前:デフォルトの名無しさん mailto:sage [04/02/06 11:40] これ以上ない程説得力のない理由だな。
508 名前:デフォルトの名無しさん mailto:sage [04/02/07 17:23] char main[] = { 0xf0, 0x0f, 0xc7, 0xc8 };
509 名前:デフォルトの名無しさん mailto:sage [04/02/07 20:19] >>508 なつかしー CPUテ゛ット゛ロックしてフリース゛する おまし゛ないた゜ね
510 名前:デフォルトの名無しさん mailto:sage [04/02/07 21:13] >>509 お前の濁点の使い方が懐かしい。
511 名前:洩れ車@J算譜工房 mailto:sage [04/02/09 14:25] >>497 昔の書き方? 昔は a += b; を a =+ b; と書いたくらい言ってほしいぜ。つか C系 以外きぼんぬ。
512 名前:デフォルトの名無しさん mailto:sage [04/02/12 00:14] このすれは「懐かしいコード」すれになりますた。 ついでに0x200げっと。
513 名前:デフォルトの名無しさん mailto:sage [04/02/13 16:01] >>512 「#$200げっと」 に汁!
514 名前:デフォルトの名無しさん mailto:sage [04/02/13 18:31] windows2000見た香具師いる?
515 名前:デフォルトの名無しさん mailto:sage [04/02/13 18:45] マにもムにもソース流出のスレ立ってないのが不思議なんだが
516 名前:デフォルトの名無しさん mailto:sage [04/02/13 18:56] 既にMSの手が回っているのかもしれんな。
517 名前:デフォルトの名無しさん mailto:sage [04/02/13 19:23] >>515 pc2.2ch.net/test/read.cgi/tech/1076661779/ 他板は知らん。
518 名前:デフォルトの名無しさん mailto:sage [04/02/13 19:39] >>517 dクス。カタカナで検索すりゃよかったのね。
519 名前:デフォルトの名無しさん mailto:sage [04/02/14 00:55] うわさのWindowsXPのソースコードをとうとう入手したので、 ちょっとだけ転載するぜ。 #include<stdio.h> int main(int argc, char *argv[]) { puts("Microsoft Windows XP [Version 5.1.2600]"); puts("(C) Copyright 1985-2001 Microsoft Corp."); 続きはまた明日
520 名前:デフォルトの名無しさん mailto:sage [04/02/14 06:10] 流出したのはwinNT/2000じゃなかったか。
521 名前:デフォルトの名無しさん mailto:sage [04/02/14 09:09] ソース読みたいけど、それだけのために Winny 入れるのもなぁ。 普通に考えて、OS のコードが stdio.h を include してるわけが無い気が。
522 名前:デフォルトの名無しさん mailto:sage [04/02/14 12:10] こごけの秘密だけど、 Windows は BASIC で書かれているんだよ。
523 名前:デフォルトの名無しさん mailto:sage [04/02/14 12:24] しかし、ある意味一番感動するかもな。>Windowsのソース
524 名前:デフォルトの名無しさん mailto:sage [04/02/14 13:45] 既出かも知れんけど、ネットで見つけた曜日を算出するコード。 /* 0 = Sunday , 1 <= m <= 12, y > 1752 or so */ int dayofweek(int y, int m, int d) { return y -= m < 3, (y + y/4 - y/100 + y/400 + "032503514624"[m-1]-'0' + d) % 7; } もはやこれ以上いじる気が起こらん。
525 名前:デフォルトの名無しさん mailto:sage [04/02/14 14:01] >>524 どうもそういうコードって好きになれない。
526 名前:デフォルトの名無しさん mailto:sage [04/02/14 23:04] >>525 > >>524 > どうもそういうコードって好きになれない。 どういうとこが? Asciiしか考慮してない点とか?
527 名前:デフォルトの名無しさん mailto:sage [04/02/15 02:01] >>526 それのどこに、Asciiに依存する個所がある?
528 名前:デフォルトの名無しさん mailto:sage [04/02/15 02:38] ASCIIというか、多分0-9がコード順にならんでるという仮定だな。 EBCDICとかでも一応この仮定は成り立つだろ。 でも、コード順に並んでいないencodingってのもありうるな。
529 名前:デフォルトの名無しさん mailto:sage [04/02/15 12:14] 誰か>>524 のreturn行のカンマの意味教えて。
530 名前:デフォルトの名無しさん mailto:sage [04/02/15 12:37] >>529 閏年でもm<3の時は1日ずらしたくないから、カンマ以前でy -= 1して 先につじつま合わせとく。次に後半を計算し、returnする値は後半。
531 名前:デフォルトの名無しさん mailto:sage [04/02/15 13:04] >>529 カンマの前を別の文に分けてもまったく一緒。 処理の内容についてはzellerの公式で検索。
532 名前:デフォルトの名無しさん mailto:sage [04/02/15 17:56] Zeller の公式参照というのはコメントに書いておいてほしいな
533 名前:デフォルトの名無しさん mailto:sage [04/02/15 19:33] 意味のないカンマがやだな
534 名前:デフォルトの名無しさん mailto:sage [04/02/15 22:01] たしかに、順序演算子のカンマ使うのはforの中くらいだな。
535 名前:デフォルトの名無しさん mailto:sage [04/02/16 03:10] 漏れはいつもこれ使ってる。同じなんだけど、文字コードが関係ないだけ ましかな。 int DayOfWeek(int year, int month, int day) { if (month <= 2) year--, month += 12; return (year + year / 4 - year / 100 + year / 400 + (13 * month + 8) / 5 + day) % 7; }
536 名前:デフォルトの名無しさん mailto:sage [04/02/16 03:27] 俺はここ(URLは別だけど)で見た www.catnet.ne.jp/kouno/c_faq/c20.html#31
537 名前:デフォルトの名無しさん mailto:sage [04/02/17 23:14] 数字だけは連続して並んでることが規格で保証されてますね。
538 名前:デフォルトの名無しさん mailto:sage [04/02/18 19:56] >>537 C の規格が? C の規格で文字セットまで言及してたっけ。
539 名前:デフォルトの名無しさん mailto:sage [04/02/19 08:59] ANSI C では「0123456789」という 10 個の文字について, 前の char 値に+1 すると次のになることが定められてます。 524 でもやられてる「'0' を引いて 0〜9 の数値にする」 ってのができることを保証したかったのでは。 ISO C90 や JIS X 3010 は知りません(が多分同じ)。 ISO C99 は,その最終案では同じように定められてます。
540 名前:528 [04/02/19 12:13] >>539 なるほど。>>524 は安全に動くというファイナルアンサーだな。 ところで>>525 は隠れてないで、好きになれない理由をそろそろ書けや。
541 名前:デフォルトの名無しさん mailto:sage [04/02/19 12:24] >>539 「9」の文字に+1したらなんになるんだよ?w
542 名前:デフォルトの名無しさん mailto:sage [04/02/19 12:26] >>525 ではないが、真偽で偽の時が0なのはまだいいけど 真の時に1であることをあてにしているところがちょっと・・
543 名前:デフォルトの名無しさん mailto:sage [04/02/19 12:30] 最適化されるわけでもなし、わざわざ1行に詰め込む意味がわからんとこじゃね?
544 名前:デフォルトの名無しさん mailto:sage [04/02/19 12:30] 真が1になるのも保証されてるはず
545 名前:真一 mailto:sage [04/02/19 13:36] 呼んだ?
546 名前:デフォルトの名無しさん mailto:sage [04/02/19 13:41] dayofweek(2004, 24, 1)
547 名前:デフォルトの名無しさん mailto:sage [04/02/19 13:50] 関係演算子は0か1を返すってのは確かにそうなんだけどな
548 名前:デフォルトの名無しさん mailto:sage [04/02/19 14:37] テク覚えたての香具師が得意になって一行に詰め込んだんだろ
549 名前:デフォルトの名無しさん mailto:sage [04/02/19 19:07] >>539 >ANSI C では「0123456789」という 10 個の文字について, >前の char 値に+1 すると次のになることが定められてます。 ソースあるのか?
550 名前:デフォルトの名無しさん mailto:sage [04/02/20 00:28] 一行に収めたところで意味はない、と思うこともないではないけど、 書いた人の実力が垣間見れるコードはうらやましいと思う。 このプログラムの場合、Cだということを生かしている点がいい。 自分も含め、最近のプログラマはいろんな言語を知っているくせに、 結局どの言語でも似たようなコードしか組めなかったりする。 精進せねば。
551 名前:デフォルトの名無しさん mailto:sage [04/02/20 01:07] >>549 ANSI C というキーワードがあるのに、なぜ自分で調べないんだ? ISO/IEC 9899:1999 5.2.1 3 を読め。
552 名前:デフォルトの名無しさん mailto:sage [04/02/21 01:33] えっと
553 名前:デフォルトの名無しさん mailto:sage [04/02/21 05:58] >>552 ISO にしても、JIS にしても有料なんだよね。。。 といいたいのですね?
554 名前:デフォルトの名無しさん mailto:sage [04/02/21 06:33] ISO/IEC 9899:1999 5.2.1 3 これでググったら550頁あるISO/IEC 9899:1999がダウンロードできたよ。 多分無料で。 で、確かにそう書いてあった。
555 名前:デフォルトの名無しさん mailto:sage [04/02/21 14:29] >>554 タイーホ?
556 名前:デフォルトの名無しさん mailto:sage [04/02/23 00:30] >>554 まぢで? 数字じゃなくて文字でも保証されてるの? って、C99じゃねえか…そうか、そうなのか
557 名前:デフォルトの名無しさん mailto:sage [04/02/23 00:50] >>541 0 1 2 3 4 5 6 7 8 9 ソースコードと実行ファイルの両方において、 0より後の上記に挙げた十進数の数字それぞれの値は前の値よりも一大きいものとする だそうだ、だから>>541 の疑問は意味をなさないことになるっぽい
558 名前:r [04/02/28 08:38] >>557 '0' + 1 が '1' になる事は保証されているのかもしれませんが、 '0' + 2 が '2' になる事も保証されているの? つまり '0' + 1 + 1 と '0' + 2 が等価であると....
559 名前:デフォルトの名無しさん mailto:sage [04/02/28 09:26] 2 == 1 + 1 だから自明だと思うんですが。
560 名前:デフォルトの名無しさん mailto:sage [04/02/28 10:18] >>558 結合法則って習ったことないか?
561 名前:r [04/02/28 10:19] >>559 ( ( a + b ) + c )と ( a + ( b + c ) )ってのは C言語的には等価なんでしたっけ?
562 名前:洩れ車 mailto:sage [04/02/28 11:30] >>561 スレ違いまくりだが, コンパイラが同じ機械語を生成するかは場合によると思う。精度の観点からは 「桁落ち」「情報落ち」「積み残し」をアルゴリズム事典やGoogleで探してみると 良いかも。私は奥村晴彦『C言語による最新アルゴリズム事典』(技術評論社)で 習いました。
563 名前:デフォルトの名無しさん [04/02/28 11:50] (a+b)/2 は平均値をあらわすが.... ともに正の場合は精度が減ってしまう (a-b)/2+bがbetter.... しばらく前にのATMが止まったのはこれなのではないかと…
564 名前:562 mailto:sage [04/02/28 12:13] >>561-562 訂正。 × コンパイラが同じ機械語を生成するかは場合によると思う。 ○ 以前は a+b+c を(a+b)+c と解釈するコンパイラと a+(b+c)と解釈する コンパイラがあったが, 今は標準化されているかも知れない(不勉強です)。 (a+b)+c と a+(b+c) は違う機械語になりそうな気がするが, 強力なあるいは 過度の最適化を行う条件下では同じになるかも知れない(推測です)。
565 名前:デフォルトの名無しさん mailto:sage [04/02/28 14:32] >>561 ISO/IEC 9899:1999 5.1.2.3 14 を読め。
566 名前:デフォルトの名無しさん mailto:sage [04/02/29 00:57] >>561 評価順序が異なる つまり、a b cの型が異なった場合や、関数呼び出しだった場合に異なる結果になる可能性がある ちなみに>>558 の問いとは関連性があんまり無い >>564 +演算子の結合規則は左から右
567 名前:デフォルトの名無しさん mailto:sage [04/02/29 02:37] >>563 これってa > 0, b > 0でa+bがaやbの型の最大値を超えるような場合の対処法という意味でしょうか?
568 名前:デフォルトの名無しさん mailto:sage [04/02/29 12:06] >>567 そういう意味もあるけど、精度と言う言葉を用いているのでおそらく浮動小数点数でのことだと思われる a=10000.0 b=0.0001とかのとき、a+b==aが真になったりすることがあるってことではないだろうか
569 名前:デフォルトの名無しさん mailto:sage [04/02/29 13:00] >>568 a+b==a なら a-b==a ではないだろうか?
570 名前:デフォルトの名無しさん mailto:sage [04/02/29 15:48] a+b=a でも a/2+b=a/2 とは限らん。
571 名前:デフォルトの名無しさん mailto:sage [04/02/29 15:49] double a=2,b=DBL_EPSILON,c; c=a+b;puts(c==a?"a+b==a":"a+b!=a"); c=a-b;puts(c==a?"a-b==a":"a-b!=a");
572 名前:567 mailto:sage [04/03/01 02:29] >>571 不思議だ・・・。 どうしてかわからないです_| ̄|○
573 名前:デフォルトの名無しさん mailto:sage [04/03/01 14:33] >>563 これ? [UNIX]2038年、みんなどうする? ttp://pc.2ch.net/test/read.cgi/unix/1021212011/79-80
574 名前:デフォルトの名無しさん mailto:sage [04/03/02 06:14] >>572 DBL_EPSILONでぐぐったらすぐわかる。機械イプシロンでもよい。
575 名前:デフォルトの名無しさん mailto:sage [04/03/04 05:26] [ORG 0x100] top: mov ah,0x0a mov dx, buffer int 0x21 mov ah, 0x09 mov dl,message int 0x21 jmp short top message: db 10,'?',13,10,'$' buffer:
576 名前:デフォルトの名無しさん mailto:sage [04/03/06 04:01] 大学の先輩がUNIXでこんなシェルスクリプトを作っていた -r--r-xr-x 1 ユーザ名 グループ 175 Dec 3 19XX ls lsの中身 #!/usr/bin/csh echo error mail ユーザ名 環境変数のpath(だったかな?)の先頭に「.」が入っていると面白いことが起ります 確か、cdってファイル名でも同じスクリプトを作ってあった気が…(W あまりにも笑えるプログラムだったので漏れはlsの中身を↓のようにしてた #!/usr/bin/csh ls | banner mail ユーザ名 TAのバイトをしていた時にこのトラップを自分用の全てのディレクトリに置いて、 締切り間際に宿題のプログラムの回答がないか探しに来た学生が引っかかるのを 楽しみに待ってたことがある
577 名前:デフォルトの名無しさん mailto:sage [04/03/06 12:55] > #!/usr/bin/csh ( ´,_ゝ`)
578 名前:デフォルトの名無しさん mailto:sage [04/03/06 13:29] ログインプロンプトを偽装してパスワードを(σ・∀・)σゲッツする プログラムなら書いたことがあるな。
579 名前:洩れ車 mailto:sage [04/03/06 14:22] (}.~*@$);.0^:2":<"2' *'{~((#:3 2 4){-/&:|@+.`(|-4:)(<:&1@|@))`:0 j./~i:5 NB. J language 実行結果(等幅フォントで見てね): ** **| * | * *** ***| ******* | ******* *** *** | ********* | ********* *** *** | ** ** | ** ** ***** | ** ** | ** ** *** |*** ***|*** *** ***** | ** ** | ** ** *** *** | ** ** | ** ** *** *** | ********* | ********* *** ***| ******* | ******* ** **| * | * -----------+-----------+----------- ** **| * |** ** *** ***| ******* |*** *** ... 中略 ... *** ***| ******* |*** *** ** **| * |** ** -----------+-----------+----------- * |** **|** ** ******* |*** ***|*** *** ********* | *** *** | *** *** ** ** | *** *** | *** *** ** ** | ***** | ***** *** ***| *** | *** ** ** | ***** | ***** ** ** | *** *** | *** *** ********* | *** *** | *** *** ******* |*** ***|*** *** * |** **|** **
580 名前:デフォルトの名無しさん [04/03/07 03:27] >>578 タイーホage
581 名前:デフォルトの名無しさん mailto:sage [04/03/07 03:50] 大体のが読みにくい
582 名前:デフォルトの名無しさん mailto:sage [04/03/21 05:59] >>576 PATHにカレントディレクトリを含める馬鹿なんていないと思う。
583 名前:デフォルトの名無しさん mailto:sage [04/03/21 06:54] >>582 でも1980年代後半ぐらいまでは含むことが多かったでしょ。 1990年代前半に>>576 のような理由で習慣が変わったけど。 理由もいえるけど、2chのカキコには長すぎるから略。 お前もわかって煽ってるだけなんだろし。
584 名前:583 [04/03/21 06:55] あ、理由って、昔はカレントも含んでた理由ね。
585 名前:デフォルトの名無しさん mailto:sage [04/03/21 14:53] #define f(type) f##type 生成的関数の定義は感動した
586 名前:デフォルトの名無しさん mailto:sage [04/06/16 14:56]
587 名前:デフォルトの名無しさん mailto:sage [04/07/15 23:14]
588 名前:デフォルトの名無しさん [04/07/23 18:18] ttp://lists.boost.org/MailArchives/boost/msg46138.php こんなのに感動した漏れは負け組ですか?
589 名前:デフォルトの名無しさん mailto:sage [04/07/24 11:09] うん(´・ω・`)
590 名前:デフォルトの名無しさん mailto:sage [04/07/24 18:50] やはりそうか… 旅に出て来ます。
591 名前:デフォルトの名無しさん mailto:sage [04/07/25 05:31] K&Rのbitcoutのソースは感動した。 int bitcount(unsigned int x) { int b; for (b = 0; x != 0; x &= (x-1)) b++; return b; } あと、これもちょっと面白かった。速くはないんだろうけどね。 int bitcount(unsigned int x) { int b; for (b = x; x >>= 1; b -= x) ; return b; }
592 名前:デフォルトの名無しさん mailto:sage [04/11/13 08:24:51] なるほど
593 名前:デフォルトの名無しさん [04/11/29 20:48:53] bitcout
594 名前:デフォルトの名無しさん [04/12/06 00:38:38] bit::cout
595 名前:デフォルトの名無しさん mailto:sage [04/12/06 03:14:40] xfs(UNIX系OSで使用できるファイルシステム)のfsckのソース。 int main(int argv, char **argc) { return 0; } xfsは絶対壊れることのない、一番信頼性のあるファイルシステムだとこのとき感じた。
596 名前:デフォルトの名無しさん mailto:sage [04/12/06 03:20:19] 幸せな奴。
597 名前:デフォルトの名無しさん mailto:sage [04/12/06 12:27:55] >>595 IBMのメインフレーム系の人間にはおなじみのユーティリティBR14のソースが そんな感じだったな。プログラムの起動オプションの作用だけを必要とする 場合のダミープログラムなのだ。
598 名前:名無しさん@Linuxザウルス mailto:sage [04/12/06 21:52:06] 壊れているのか正常なのか識別できない、信頼性ゼロのファイルシステム。 という意味ではなかろうか。
599 名前:デフォルトの名無しさん mailto:sage [04/12/07 00:10:23] >>595 は皮肉で言ったのでは?
600 名前:デフォルトの名無しさん [04/12/07 14:16:38] 599=595
601 名前:デフォルトの名無しさん mailto:sage [04/12/08 00:36:15] int a[10]; for (int i = 0; i < 10; ++i) { i[a] = i; } Cのいさぎよさに感動した。
602 名前:デフォルトの名無しさん mailto:sage [04/12/08 13:47:40] >>601 アセンブラ知ってれば、わりと普通なんだが。
603 名前:デフォルトの名無しさん mailto:sage [04/12/08 16:48:48] >>602 だから いさぎいいと感じたんだよん。
604 名前:デフォルトの名無しさん mailto:sage [04/12/08 16:52:58] i[a] = i; は *(i + a) = i; と同じだから問題ないのかな?
605 名前:デフォルトの名無しさん [04/12/08 18:26:00] >>604 そういうことだな
606 名前:デフォルトの名無しさん mailto:sage [04/12/08 20:50:30] >>601 スレ違い クソコードスレ行きでしょ
607 名前:デフォルトの名無しさん [05/01/19 16:49:10 ] age
608 名前:デフォルトの名無しさん mailto:sage [05/01/20 12:42:59 ] <Script Language="JavaScript"> //<!-- function yesno() { if ( window.confirm("18才以上で利用規約に同意しますか?\n同意される方のみOKボタンを押し入場下さい。") == true ) { return true; } return false; } //--> </Script>
609 名前:デフォルトの名無しさん mailto:sage [05/01/20 12:52:12 ] なんか自然対数を求める C のプログラムで、 ee eE Ee EE を #define してそれだけで組んだやつ。 しかも空白文字をうまく使って、全体が「 e 」の形になってた。 こないだ見に行ったらページが削除されてて鬱。 誰か持ってませんか
610 名前:デフォルトの名無しさん mailto:sage [05/01/20 22:47:44 ] >>609 www0.us.ioccc.org/years.html#2004 この辺にイパーイあるぞ
611 名前:デフォルトの名無しさん mailto:sage [05/01/20 23:12:32 ] >>609 これ? web.archive.org/web/20011004183628/http://www.layer-8.com/sce/view_src.php3?argSrcId=94
612 名前:洩れ車@J算譜工房 mailto:sage [05/01/22 18:41:28 ] >>609 >>393 (確かにリンク先はもう無いみたいですね)とレス >>394-395 >>399-406 もよろ。
613 名前:デフォルトの名無しさん [05/03/16 10:42:10 ] ちょっとすれ違いかもしれないですが、大規模なプログラムで C(++)かJavaで一番コードが美しかったソフトって何ですか? 読んで勉強してみようと思ってます。 GNUはやっぱり一流なのかな?
614 名前:デフォルトの名無しさん mailto:sage [05/03/16 11:14:10 ] あなたにとってはどのくらいが大規模なのかをまずはっきりさせないと。 まあソースコードを読んだ経験がほとんどないんだろうから欲張らずに 手近なものに手をつけてみるのがいいよ。
615 名前:デフォルトの名無しさん mailto:sage [05/03/16 17:47:12 ] GNUの大半は目に染みます。ものすごく痛いです。 かなり漢してますよ。あれはヤクザです。
616 名前:デフォルトの名無しさん [05/03/16 21:12:40 ] >>614 >>615 そうですね。小さいけれども適度にモジュールに分かれてるって感じの プログラムを読みたいんですが。やっぱGNUとかはハッカーだから書き方がスマートすぎて上級すぎるのかな?
617 名前:デフォルトの名無しさん [05/03/16 21:33:41 ] www.perlscript.ru/v77_9_1.shtml この「1C」って言語。 最初「VBって世界中でローカライズされてたのか?」って思った。
618 名前:デフォルトの名無しさん mailto:sage [05/03/17 01:54:34 ] >615 あれはある種の踏絵だと思う。
619 名前:デフォルトの名無しさん [05/03/17 07:18:23 ] >>618 踏絵っていうと?
620 名前:デフォルトの名無しさん mailto:sage [05/03/17 07:59:01 ] GNUは最悪のコードの代表の一つだよ
621 名前:デフォルトの名無しさん mailto:sage [05/03/17 10:28:24 ] MINIXのソースはいいらすぃ
622 名前:デフォルトの名無しさん mailto:sage [05/03/17 10:35:44 ] いいも悪いも、大きいのも小さいのも、沢山読むことが重要だと Pragmatic ProgrammerであるDave Thomasは述べている。
623 名前:デフォルトの名無しさん mailto:sage [05/03/17 11:43:01 ] GNU より djb の方がひどい
624 名前:デフォルトの名無しさん [05/03/17 16:38:56 ] Eclipseなんてどうですか?Javaですが。巨大すぎるけど、効率よくブラウズしていく方法ってある?
625 名前:デフォルトの名無しさん [05/03/17 22:28:06 ] 今までに見たソースコードで一番感動したのはAVL木のコードというかアルゴリズム
626 名前:デフォルトの名無しさん [05/03/17 23:00:41 ] 四季のソースコードはすばらしかったよ。
627 名前:デフォルトの名無しさん mailto:sage [05/03/18 00:12:02 ] while(TOT)//~~ { exit(-1); }
628 名前:デフォルトの名無しさん mailto:sage [05/03/18 22:05:03 ] >>626 レッドマジック?
629 名前:デフォルトの名無しさん mailto:sage [05/03/19 03:50:18 ] スネークカモン?
630 名前:デフォルトの名無しさん mailto:sage [05/03/19 12:25:02 ] レッドマジック見てみたい!
631 名前:デフォルトの名無しさん mailto:sage [05/03/19 21:39:01 ] そしてすべてがデブになる。
632 名前:デフォルトの名無しさん mailto:sage [05/03/20 21:15:30 ] read.cgi見てみたいなー。 あの日のソースは見たことあるけど今はどんなになってるんだろ?
633 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 10:05:10 ] jakartaのコードはハンサム!鮮やか ちんことかサラッサラなんだろうなっとか思っちゃうぐらい
634 名前:デフォルトの名無しさん mailto:揚げ [2005/06/30(木) 20:24:55 ] これとか、 char main[] = "U駆\203\3544ーLS\210Eフ\210Eミーrウa\210Eモ\210Eユ\210E\353イsアeー" "lVWニEヘo\210]ホニEマdニEムiニEメb\210]ヤニEヨyニEラAニEリ\0ニE鑾\210U驤M\352ニE\3543ニE" "\3552ニE\356.ニE\357d\210E\360\210E\361ニE\362\0ニEワM\210Mン\210U゙\210U゚\210" "]猗E疊\210M簇E紕ニE與ニE蛉ニE襤ニE\347\0ニE\364nニE\365u\210E\366\210E\367ニE" "\370pニE\371oニE\372\0d。\0\0\0\0\213\0\2008\377u\371\213@\4%\0\360\377" "\377ケMZ\0\0-\0\20\0\0f9\bu\366\211E\374\213E\3743\366\211u\374稀<記\1x" "\3ネ飢 及\30\3ミ\205\377v:\2134イ閤フ\3\360\212\36\204ロt\178\37u\v垣\1GF" "\204ロuJ\5\200?\0u\5\200>\0t\20丘\374及\30F;\367\211u\374rヒ\353\3丘\374" "飢$紀\34\215\24r3\366f\2134\2\215\24ア\213\f\2攻鏗\3ネ\377ム稀<ヌE\374\0\0" "\0\0\213|\1x記\a\30\3\370\213_ \3リ\205ノv8偽\374\215uワ\213\f\223\3ネ\212" "\21\204メt\178\26u\v碍\1FA\204メuJ\5\200>\0u\5\2009\0t\16貴\374\213W\30A" ";ハ窺\374rネ庚\364j\0攻\364Q軌$R偽\374j\0\215\fQ3メf\213\24\1軌\34\215\24" "窓\f\2\3ネ\377ム_^3タ[\213\345]テ";
635 名前:デフォルトの名無しさん mailto:sage [2005/06/30(木) 23:39:18 ] >>634 実行したけど何もできない 何もしないプログラム?
636 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 05:42:42 ] どうやって実行までこぎつけたの? ダメだ俺は言語すらわかんね
637 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 08:46:34 ] >>636 つ プログラミング言語C
638 名前:マイク ◆yrBrqfF1Ew mailto:sage [2005/07/01(金) 20:03:42 ] 実行したらOctane(MIPS IV)に入れた俺のNetBSDのHDDが強制フォーマットされた・・・ 悪質な犯罪だ、ゆるさねえ
639 名前:デフォルトの名無しさん mailto:sage [2005/07/02(土) 13:08:05 ] IOCCC 見れば?
640 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 12:32:48 ] >>638 匿名掲示板に落ちてるほぼバイナリなプログラムを実行するお前に感動
641 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 14:44:14 ]
642 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 23:28:51 ] >>640 マジレスするお前に感動
643 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 11:24:37 ] マジレスと思うやつに感動
644 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 11:58:24 ] 感動するお前に感動
645 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 13:56:59 ] こんな下の方まで見て回るおまいらに感動
646 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 15:01:51 ] 感動ばっかりで萎えた俺様に感動
647 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 21:02:59 ] ここは小泉スレデスカ?
648 名前:デフォルトの名無しさん mailto:sage [2005/09/05(月) 14:22:05 ] 空気を夜目ないお前に感動
649 名前:デフォルトの名無しさん [2005/11/21(月) 15:36:38 ] h
650 名前:デフォルトの名無しさん [2005/11/21(月) 17:49:32 ] PC-88(Z80)で自己書換え、命令中へのジャンプを駆使して完全リロケータブルなオブジェクトになっていた16進ダンププログラム
651 名前:デフォルトの名無しさん [2006/02/16(木) 23:58:21 ] Cで改行含めて85バイトで自分自身のソースコードを標準出力に出力するプログラム。
652 名前:デフォルトの名無しさん [2006/02/17(金) 00:18:35 ] Cじゃないけれど。 JScript.net: import System;var q='"',s="import System;var q='{0}',s={0}{1}{0};Console.WriteLine(s,q,s);";Console.WriteLine(s,q,s); JScript 5.6(WSH): var c='"',s="var c='0',s=010;WScript.Echo(s.replace(/0/,c).replace(/1/,s));";WScript.Echo(s.replace(/0/,c).replace(/1/,s));
653 名前:デフォルトの名無しさん mailto:trickstar@55mail.cc [2006/02/17(金) 01:49:05 ] 頭悪いのが多いなpっ
654 名前:デフォルトの名無しさん [2006/02/17(金) 09:50:32 ] >>652 Cでもそんな感じです。#includeを書かなくていいので、少し短くできます。
655 名前:デフォルトの名無しさん mailto:sage [2006/02/17(金) 20:27:16 ] >>654 某 C コンパイラは、 0バイトの .c ファイルをコンパイルすると、 何も実行しない .exe を作ってくれたけどな。 処理系依存だが、これが最短。
656 名前:デフォルトの名無しさん mailto:sage [2006/02/17(金) 20:40:49 ] int main=0xc3; これ
657 名前:デフォルトの名無しさん mailto:sage [2006/02/18(土) 00:23:20 ] おおすげーどうなるのそれ?>656
658 名前:デフォルトの名無しさん mailto:sage [2006/02/18(土) 02:32:41 ] >>657 C言語の場合、mainって予約語だから変数名で使えないからエラーなるんじゃねか?
659 名前:デフォルトの名無しさん mailto:sage [2006/02/18(土) 04:20:44 ] >>658
660 名前:デフォルトの名無しさん mailto:sage [2006/02/18(土) 12:08:40 ] >>658 >mainって予約語
661 名前:デフォルトの名無しさん mailto:sage [2006/02/18(土) 12:14:03 ] >>659 >>660 新手の釣りなんジャマイカ?
662 名前:デフォルトの名無しさん [2006/02/19(日) 16:15:41 ] エラーじゃなくて大方のコンパイラは警告を出すな
663 名前:651 mailto:sage [2006/02/20(月) 10:42:54 ] >>655 >某 C コンパイラは、 >0バイトの .c ファイルをコンパイルすると、 >何も実行しない .exe を作ってくれたけどな。 >処理系依存だが、これが最短。 やはりなにか出力されないと… >>656 >int main=0xc3; >これ VC++6とgcc3.3.3でコンパイルして、どちらもワーニングもエラーも出ませんでしたが、 実行しても何も出力されませんでした。"int main=0xc3;"と出力されることを期待したのですが。
664 名前:デフォルトの名無しさん mailto:sage [2006/02/20(月) 11:44:11 ] はあ?
665 名前:651 mailto:sage [2006/02/20(月) 13:35:43 ] 失礼。話が切れてたんですね。
666 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 11:52:11 ] はあ?
667 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 13:25:29 ] 通りすがりだが・・・ >>651 Cで改行含めて85バイトで自分自身のソースコードを標準出力に出力するプログラム を受けて >>652 >>653 >>655 がそれぞれレスしていたところへ、なぜか関係ない>>656 が出てきたので >>663 が「それ自分のソースコード出力しないじゃん」と指摘、>>664 >>666 とバカに絡まれて 革磯スな展開。 自分のソースコードを出力するコードって、構造的に f(a,b) -> a b b みたいな変換を a b で 定義して、引数として b をあたえて a b b にする、というパターンが定石だけれども、 ほかのやり方はあるのかな(>>655 は別として)。
668 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 21:01:45 ] c=chr(34):s="c=chr(34):s=QPQ:msgbox replace(replace(s,chr(81),c),chr(80),s)":msgbox replace(replace(s,chr(81),c),chr(80),s) msgbox createobject("scripting.filesystemobject").opentextfile(wscript.scriptfullname).readall
669 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 21:16:51 ] >>668 後の方のは「ほかのやり方」だな
670 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 22:11:48 ] #!/bin/sh cat $0
671 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 22:12:54 ] #!/bin/cat
672 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 22:20:10 ] >671 うまい!っていうか670が間抜けじゃん @type %0
673 名前:デフォルトの名無しさん mailto:sage [2006/02/21(火) 23:02:39 ] >>667 それはみんな分かってたというか、 >>658 や>>663 のアホっぷりに唖然としてたというか。 特に663は突然HDDをフォーマットされても文句は言えない。
674 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 01:38:53 ] このまま延々と続くのも面白いと思った +++[>+++++<-]>[>+++>++++++>++++>+++>++++>+++>++++++<<<<<<<-]>-->+>++>+> >>+++<< <<<<...>.>.<<.....> >> >.>.>.<<<<.<.>.<<...> >.<<......> >.<<....> >.<<...> >.<<.... > >.<<...> >.<<......> >> >.......>.>.<<<<.> >>..<<<.<<.> >.<<..> >.<<.> >...<<...> >> > ......<...<.>.<.>.>..<.....<....>.<.>.<.>.>....<.>.<.<.>.>..<...<..>.>..<..... .<..>.>..<....<..>.>..<...<..>.>..<....<..>.>..<...<..>.>..<......<....>...... .<.>.<.>.>....<.<...>..>...<.>..<.<..>.>..<..<..>.>..<.<..>...>..<...<....>... ...>.<...>.<.<.>.>.<.<.>.<.>..>.<.....>.<....<.>.>.<.<.>.>.<.<.>.<.>....>.<.<. >.>.<.>.<.<.>.<.>..>.<...>.<..<.>.<.>..>.<......>.<..<.>.<.>..>.<....>.<..<.>. <.>..>.<...>.<..<.>.<.>..>.<....>.<..<.>.<.>..>.<...>.<..<.>.<.>..>.<......>.< ....<.>.......>.<.<.>.>.<.<.>.<.>....>.<.>.<...<.>..<.>...>.<.<.>..>.<.>.<..<.
675 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 10:35:12 ] >673に書かれてしまったが >667 >なぜか関係ない>>656 が出てきたので 出てきちゃいかんのか?「自分のソースコードを出力するスレ」でもないのに >663 >"int main=0xc3;"と出力されることを期待したのですが。 これに呆れてるんだがなぁ オマエも期待したクチかw>667
676 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 11:12:26 ] どっちがとは言わんが流れが読めていない、または区別できていないやつが居た。それだけだろ。 ↓感動したソースコードよろしく。
677 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 12:57:40 ] >>675 お前口悪いな。
678 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 13:11:26 ] >>667 > なぜか関係ない>>656 が出てきたので > >>663 が「それ自分のソースコード出力しないじゃん」と指摘 アンカーもないのに関係があると思うのもどうかと(ry
679 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 16:21:58 ] どっちがとは言わんが流れが読めていない、または区別できていないやつが居た。それだけだろ。 ↓感動したソースコードよろしく。
680 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 20:44:10 ] BR14ってなんだっけ? 元F系のプログラマで、当時使った記憶があるんだか 遙か昔の事難で忘れてしまった。
681 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 10:31:11 ] ブランチ14 (BRANCH 14) すなわち14番レジスタが保持しているアドレスにジャンプせよという命令。 ちなみに14番レジスタはサブルーチン等の戻りアドレスを格納することが多い。
682 名前:デフォルトの名無しさん mailto:sage [2006/02/23(木) 14:18:04 ] リンクレジスタってやつやね
683 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 14:56:23 ] >>681-682 サンクス、思い出せました。
684 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 16:31:09 ] 俺の友達が作った宿題の解答 #define (ry o.h #define 交換 kookan #define 値を変えれる引数 * #define 値of * #include <stdi(ry void 交換(int 値を変えれる引数a, int 値を変えれる引数b); int main() { int a, b; a = 0; b = 3; 交換(a, b); printf("a = %d\n b = %d", a, b); return 0; } void 交換(int 値を変えれる引数a, int 値を変えれる引数b){ int n = 値ofa; 値ofa = 値ofb; 値ofb = n; } #define (ry はギャグなんだろうけど #define 値を変えれる引数 とかは、やめろっていっても本気で止めないから怖い。 エラーでまくってて笑えたw
685 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 10:29:05 ] >684 > 交換(a, b); ここは > #define 場所of & > 交換(場所of a, 場所of b); みたいな感じじゃないのか
686 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 13:09:52 ] >>685 いや、俺に言われても困るけど。 てか#defineでは日本語使えない
687 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 14:19:47 ] まともなプリプロセッサなら日本語が使えてもおかしくない。 VC2005ってどうだっけ?
688 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 17:43:44 ] >687 識別子にも日本語が使えます
689 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 16:54:56 ] MS ってファイル名や SQL Server はカラム名にも 日本語使えるしね。
690 名前:デフォルトの名無しさん [2006/03/18(土) 16:57:26 ] >>684 >#define (ry o.h は、>>684 によるただのtypoかね? でもこれは面白いな。気合い入れてソース解析しようとファイル開いて、 いきなり「(ry」なんてのを目にしたら激しく脱力しそうだ
691 名前:http://www.vector.co.jp/soft/win95/util/se072729.html [2006/03/18(土) 18:01:35 ] TextSSの64bit化ってできない? ソースあればコンパイルできるんだけど
692 名前: ◆sExY692.NY [2006/04/03(月) 20:46:57 ] char itohc(int i) { return "0123456789abcdef"[i]; }
693 名前:デフォルトの名無しさん mailto:sage [2006/04/03(月) 21:31:36 ] >>692 よく書くコードだな int hctoi(char c) { return string("0123456789abcdef").find(c); } も同様によく書く。
694 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 00:56:58 ] >>693 そのくらいまっとうに実装しろよ。 その汎用的で使いまわしのきく関数の実装を高々5行サボったことによる 可読性とパフォーマンスの低下は無視できないぞ。
695 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 00:58:55 ] パフォーマンスはともかく、可読性が低下しているとは思えないんだが。
696 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 01:29:36 ] こんなコードをよく書くようなプログラマはマジいらね。早く会社辞めてくれないかな。
697 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 02:02:25 ] >694 より可読性が高くよりパフォーマンスの高いコードとやらを出してはくれまいか
698 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 05:45:09 ] あのコードが文字コードに寄らないなんて考えてもいないんだろうな
699 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 09:29:27 ] 中身一行の関数の可読性ってなんだろうねw トリッキーなことやってるならともかく、やってないし
700 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 09:44:29 ] しかし[0-9a-f]以外の入力をとると戻り値が……
701 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 10:22:43 ] それは、入力がそうならないとはっきりわかってるなら使えるし そうでなければ、ダメというだけで 本質的問題じゃない
702 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 10:52:12 ] >>693 ↓こちらへどうぞ。 ぱっと見て「ヘタだなぁ」と思うコード その2 pc8.2ch.net/test/read.cgi/tech/1142741989/l50
703 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 10:56:04 ] >>699 慣れた人間にはわからないトリッキーさと言うのもあるよ。 俺が bool a = f()==b; って書いたら(もちろん変数名はこんなんじゃないが) そんなトリッキーなコードは引き継いだやつが困るかもしれないからやめてくれって言われた。 ・比較式の結果を代入してる。 ・= と == が同じ行に現れる。 ・括弧がついてない。 どれも言語仕様上当然の使い方だし並のプログラマがこの行を見てコンマ1秒も悩む可能性は無いと思うが、 (むしろ俺は式の結果に名前をつけて変数に保存することで可読性の向上を狙った) 引き継ぐ人間がプログラミング初めて一週間かもしれないんだからわずかでも混乱の可能性があるコードは書くべきではないって言われたよ。 そんなやつが保守なんかするな思うが、現実の問題としてそういうのもいるからな。
704 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 11:11:17 ] 「トリッキー」「やめてくれ」はバカだな 「括弧をつけてくれ」なら許せる
705 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 11:16:57 ] 比較の結果を論理値として扱うことに慣れてないってことなんだろうが、 なんというか、認識が幼稚なんだね。物を正しく理解せず見慣れた形だけ 相手にするというのでやってるとそうなるのかな。 まさか&&は使わずにif文のネストで書けとかは言われないよねw
706 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 12:07:00 ] そんなのはアマチュアしか書かないよ。もし本当にプロなら恥ずかしいと思えよ。
707 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 12:21:17 ] 感動したコードスレなのに なんで皆でヘタコード晒してるんだ? >>693 そんな性能でないコードを「良く書く」って公言してる人 初めて見ます田。こっそり書く人は多くいるだろうけど。
708 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 12:29:33 ] >>707 性能を重視するなら別のを書くさ
709 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 12:35:10 ] >>708 >>693 はナニを重視して書いたコード? 「良く書く」って、どれくらいの頻度? 俺はあんな酷いコード書いたこと無いよ 誰だってそうだろ?
710 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 12:54:40 ] >>708 >>693 はナニを重視して書いたコード? 「良く書く」って、どれくらいの頻度? 俺はあんな酷いコード書いたこと無いよ 誰だってそうだろ?
711 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 12:55:00 ] 独りよがりにならないように、常に自省する心を持とうよ。 チーム開発してる職業プログラマなら、 間違い、勘違い、タイプミスを起こしやすいものを 極力排除するよう自然となっていき、間違っても トリッキーな記述なんかしなくなるもんなんだがなあ。 もしかして、一人で好き勝手に開発できるような職場なのかな?
712 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 13:13:45 ] >>710 可読性、可搬性、拡張性。 よく書く = この手のことをやらないといけないことになったらまずこっちを書く、くらい。 ここがボトルネックだと分かってから、アスキーコードに依存していいか確かめて書き直す。 c - '0' 的なアプローチじゃ例えばみたいな拡張はできんでしょ。 int hctoi(wchar_t c) { const wstring s(L"0123456789abcdef"); return s.find(c); }
713 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 15:04:46 ] int hctoi(char c) { switch( c ) { case '0': return 0x0; case '1': return 0x1; case '2': return 0x2; 中略 case 'f': return 0xf; default: return -1; } } ちょっと長いが馬鹿でも読めるしパフォーマンスも良い。 wchar_tへの変更も容易だし不正な文字が渡されたときの戻り値を -1 以外に変更するのも楽。 どうだ完璧これしかな〜〜い!!1
714 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 15:18:57 ] >>712 態々一時オブジェクトを割り当てるコストに 見合うメリットがあるとも思えん。 int hctoi(wchar_t c) { static const wchar_t s[] = L"0123456789abcdef"; const wchar_t *p = wcschr(s, c); return p? p - s: std::wstring::npos; }
715 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 15:20:24 ] 1行を20行にしておいて、ちょっと長いで済ますな と、ちょっと思った 趣味で書いたプログラムの中の、1関数を 今の仕事のコーディング規約に沿って書いてみたら もとが5行なのに、100行になったのを思い出した
716 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 15:23:04 ] そんなに汎用性とか可読性とか考えるか? 俺なら絶対、c-'0', c-'a'+10ってやるな。
717 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 15:37:10 ] >>716 君にはそれで十分かもしれんが、そうでない人もいるんだよ。
718 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 15:46:43 ] >>714 もともとパフォーマンスは気にしてないので割り当てるコストはデメリットにならない。
719 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 15:50:47 ] >>715 あまり考えるな。
720 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 16:10:26 ] 一時オブジェクトを作るなといいつつ、誰もこれを書かないのに絶望した int hctoi(char c) { const char* hex = "0123456789abcdef"; return std::find(hex, hex + 16, c) - hex; } 効率云々うるさいのに、誰もこれすら書かないのに絶望した int hctoi(char c) { static char hex[] = "0123456789abcdef"; static bool initialized; if (!initialized) { std::sort(hex, hex + 16); initialized = true; } return std::lower_bound(hex, hex + 16, c) - hex; } これはたぶん遅いけど
721 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 16:16:28 ] 上は誰でも思いつくし下は頭悪すぎ。
722 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 16:19:46 ] でも誰も書かないのは何故かね?
723 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 16:20:17 ] 書 く ま で も な い か ら
724 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 16:23:39 ] 一時オブジェクトを作るなと言っておいて? 恒久オブジェクトを作ってごまかしておいて? しかもstaticローカルだから、毎回初期化チェックが入るクソコードなのに?
725 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 16:25:34 ] 君らにはこっちのスレこそふさわしい pc8.2ch.net/test/read.cgi/tech/1142741989/
726 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 16:25:34 ] >>724 ひとちがい乙
727 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 16:28:20 ] int hctoi(char c){ return c%('a'-10)%'0'; }
728 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 21:57:03 ] ここは学生さんのお遊びプログラマの集いですか? 職業人としては、そんなコードなんてちゃんちゃらおかしいです。
729 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 22:01:14 ] >>696 >>706 >>728 …まあがんばれ
730 名前:デフォルトの名無しさん mailto:sage [2006/04/04(火) 22:21:21 ] お遊びでも>>727 は最低だけどな
731 名前:デフォルトの名無しさん mailto:sage [2006/04/05(水) 14:31:59 ] sub calculator{ eval $_[0] } print calculator( "(10 + 200) * 2");
732 名前:デフォルトの名無しさん mailto:sage [2006/04/19(水) 00:54:05 ] >>703 比較式の代入は慣れだね。慣れてないと読めない。 括弧は、あった方がよくね?
733 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 10:54:30 ] hctoi を自分で書かなくてはならない のが嫌だなぁ って言ったら荒し?
734 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 02:00:53 ] gnuのstrcpyには感動した。 charポインタをintポインタに変換して4バイトづつコピーみたいにしてた。 アラインメントの関係で最初と最後には特別な処理が必要だけどね。
735 名前:デフォルトの名無しさん mailto:sage [2006/05/05(金) 05:46:52 ] メモリ資源の少ない環境なんかでやったらヌッころされちゃうだろうけど、 俺は hctoi みたいなヤツは256バイトのマッピングテーブルを用意しちゃう。 一見馬鹿げてるコードに見えるだろうけど、アホですら一瞬で理解できる可読性もあるし、 メンテナンス性も高いし、ガチで速いし、実用性抜群だと思ってるんだけど やっぱり「一見馬鹿げてるコードに見える」が故になかなか理解を得られない。
736 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 23:28:19 ] >>735 テーブル参照で早いのは昔のCPU 今のCPUじゃ逆に遅くなる。
737 名前:デフォルトの名無しさん mailto:sage [2006/05/15(月) 00:04:40 ] >>736 実測したら条件判断のヤツより速かったとかいう書き込みをどっかで見たぞ。 確か、vc の文字種判断を行う関数で。その関数、ヘルプでは同じ機能の 関数を自作しても標準の関数より速くなることはないから標準の関数を 使いましょうみたいなことが書いてあるんだけど、実測したらテーブル参照 のほうが速ぇじゃねぇか・・・てな、内容の書き込みをどっかで見た。
738 名前:デフォルトの名無しさん mailto:sage [2006/05/15(月) 00:21:34 ] キャッシュに載らない云々の話は無くも無いけど 基本的にはテーブル参照の方が速いだろ。 まさかとは思うけど、ジャンプテーブルと混同してないよな?
739 名前:デフォルトの名無しさん mailto:sage [2006/05/15(月) 11:36:38 ] >>736-738 プロセッサ特定してから話しろよ。
740 名前:デフォルトの名無しさん mailto:sage [2006/05/15(月) 13:02:54 ] いまのCPUっていうが、そのレベルで速度を気にするようなシビアな ものを書いてる奴なんているのか? そんな奴は、こんなスレの情報には頼らず自分で最適化してる だろうな。 つまり、気にすんなってことだ。
741 名前:デフォルトの名無しさん mailto:sage [2006/05/15(月) 21:16:54 ] >>739-740 そだね。 >そんな奴は、こんなスレの情報には頼らず自分で最適化してる そんな時はいろんなコードを実測比較が原則(もちろんホットスポット をプロファイラで調べた上でね)だから、まぁ、テーブル参照もその 候補の一つってことでいんじゃね?
742 名前:デフォルトの名無しさん mailto:sage [2006/05/16(火) 19:39:54 ] >>737 条件判断なんて使わないだろ。
743 名前: [2006/06/11(日) 12:21:24 ] これは感動 www.geocities.co.jp/Technopolis-Jupiter/1889/jinseinomokuteki.html
744 名前:デフォルトの名無しさん mailto:age [2006/06/11(日) 13:07:23 ] コンパイラのソース。 科学技術の結晶だと思った。
745 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 13:43:18 ] コンパイラ屋になりないなあ。
746 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 15:43:13 ] >>744-745 なんか哀れ
747 名前:デフォルトの名無しさん [2006/06/12(月) 18:04:17 ] >>744 どこにある?
748 名前:デフォルトの名無しさん mailto:sage [2006/06/13(火) 01:33:53 ] >747 マジで聞いてるの?
749 名前: ◆tAo.kQ2STk mailto:sage [2006/06/13(火) 22:08:48 ] >>744-747 コンパイラを作ってます。 文字を読み込む関数作るだけで結構な時間食いました。
750 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 20:47:49 ] 再発明乙
751 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 05:56:15 ] ↓がんばって書いてみました。批評求ム。 int hctoi(int c){ return ((0x90 >> ((c & 0x40) >> 4)) & 0xf) + c & 0xf; }
752 名前:デフォルトの名無しさん [2006/09/07(木) 21:15:46 ] >>751 シフトは重いと思う。もしかすると return((c>='A')?(c-'A'+10):(c-'0')); のほうが軽いかも
753 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 21:24:30 ] 速度は無視して芸術点狙いで int hctoi(int c){ return (c|32)%39-9; }
754 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 21:49:30 ] >>752 かわいいなおい
755 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 22:21:52 ] ((c>('@'))?(c-('A')+10):(c-('0')))
756 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 22:28:35 ] >>752 ,755 元のと違って英小文字で動かなくなるから気持ち減点
757 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 22:45:09 ] もう顔にしかみえん('A') ('@')
758 名前:752,755 mailto:sage [2006/09/08(金) 01:35:35 ] (c>('@'))?((c>('_'))?(c-('a')):(c-('A')))+10:(c-('0'))
759 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 01:50:02 ] return(c+('w')-('m')-((c>('@'))?((c>('_'))?('a'):('A')):('0')+('o')-('e')));
760 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 09:18:41 ] ところどころに入ってる ? がいい味出してるw
761 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 09:21:00 ] かわいいなw
762 名前:デフォルトの名無しさん [2006/09/10(日) 12:05:44 ] 丹羽信夫のCマガ連載(タイトル忘れた)で、顔文字を使ってコンパイルが通る範囲内で 物語風にプログラムを書くってのがあった
763 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 01:22:08 ] 何年前のスレだよ・・・
764 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 22:18:38 ] GNUのインデントに引いた覚えはある
765 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 22:32:09 ] GNUの括弧の位置にどんな根拠があるのか知りたい
766 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 22:57:16 ] 海外だと「BSDスタイル」とか「K&Rスタイル」とか名前が付いてるけど、 日本にも「つくばスタイル」とか「北陸先端スタイル」なんてのはないんかねぇ?
767 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 23:21:33 ] >>765 エディタのTAB幅を8にしてみれば理解できるよ。
768 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 06:57:35 ] そういう問題じゃないだろ。
769 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 07:05:29 ] 1画面に入る情報量をとにかく減らそうとしているコーディングスタイルを見たことがある。 波括弧はどんどん改行。 インデント幅は8。80桁で改行。 文の区切りが分かりにくくなるから、1文ごとに空行を入れる。 if () { } else if () { }
770 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 10:23:54 ] >>769 「行あたりの価格」とか、くだらない事情があるんだろう。
771 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 13:41:50 ] >>769 elseとifの間に改行入れられると分かりづれえ・・・
772 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 18:30:51 ] いや、厳密な文法的には else if なんてものは無いのだから if () { } else { if () { } } と書いて、さらに行数を稼ぐべきだったのでは。 そんなに違和感無いし。
773 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 21:14:03 ] それやるとインデントが深くなりすぎるんじゃないか。 CにはLispのcondみたいな多重条件分岐構文がないからな。
774 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 21:38:55 ] そういう行をかせぐプログラミングスタイルの場合 コメントを全角文字で飾ったりしませんか?
775 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 22:23:18 ] しかもウィングコメントじゃなくボックスコメントで、とか。
776 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 06:45:07 ] そんなもん ; ; ; ; ; こうすりゃいいのに
777 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 14:00:03 ] 行単価どころか文字単価だったら、トライグラフで。 ??=include <stdio.h> ??=include <stdlib.h> int main(int argc, char *argv??(??)) ??< printf("Hello, world.??/n"); return EXIT_SUCCESS; ??>
778 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 15:19:27 ] >>777 オンラインヘルプとしてマニュアル一式をprintfの引数として内蔵させれば簡単じゃ? 意外と実用的だし,マニュアルきちんと書くことは悪くないと思われ。
779 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 15:57:09 ] doxygenとか使おうよ
780 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 16:14:34 ] 確かに空文とかマニュアルつっこむとかは ばれるだろうから無理だな 意外と難しい問題だ 奥ゆかしく行を増やす 君ならどうする #ifndef NDEBUG は無しな
781 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 18:21:21 ] 一時変数を大量に使ってみる。 int a = (b + c) * d; なら int bc = b + c; int a = bc * d;
782 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 18:22:50 ] 実は全部asm文とか。
783 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 00:56:02 ] 変数名に漢字を使って逆に文字単価を下げてみる
784 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 13:56:38 ] UTF-8なら1文字あたり3バイトに。
785 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 22:37:44 ] >781 int i = 0; int a = 0; int bc = b; for( i = 0; i < c; ++i ) { bc++; } for( i = 0; i < d; ++i ) { a += bc; }
786 名前:デフォルトの名無しさん [2006/10/13(金) 22:25:08 ] if ( 0 ) { /* ここに適当なことを山ほど書き込む */ }
787 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 21:27:10 ] 誇張なしで一関数千行オーバー。 感動と同時にぶんなぐりたくなった。
788 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 21:32:56 ] >>787 んなもん内容によるでしょ。行数だけで判断できるお花畑のほうがよっぽど 疲れた。寝る。
789 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 22:39:33 ] #define private public
790 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 23:11:52 ] まあ全部publicにすれば動くでしょうけどねぇ
791 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 11:45:48 ] >>788 >んなもん内容によるでしょ。 そんなゴミクズコード、見るまでもない。
792 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 12:50:08 ] >788 まるでこのスレを全否定するかのようなレスだな
793 名前:デフォルトの名無しさん [2006/10/18(水) 17:52:35 ] >>792 煽りは無視するのが原則。
794 名前:デフォルトの名無しさん mailto:sage [2006/10/21(土) 01:29:38 ] ミートソース
795 名前:デフォルトの名無しさん mailto:sage [2006/10/21(土) 10:37:19 ] つまりそれはスパゲティソースということか
796 名前:デフォルトの名無しさん [2006/10/21(土) 17:56:15 ] Apple ][のROMの中身。
797 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 23:59:31 ] アセンブリで mov eax,0;1clock を xor eax,eax;3clock で書き換えて3バイト縮める方法には感動したが、それより感動したのが sub eax,eax;1clock に書き換える方法。
798 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 00:10:16 ] その手の、同じことするのにこうやるのが最適っていう情報 どっかまとまってるページないですか。
799 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 00:26:11 ] CPUによって違うからねぇ。
800 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 01:46:40 ] 486ぐらいまでは実行サイクルって意味あったけど もう、内部RISCで並列実行だから、 現状で重要なのは前後関係のある命令とない命令の配置でしょ。
801 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 02:04:04 ] つーか、xorがsubより時間がかかるCPUなんて存在しないと思うが。 どちらも2入力1出力だが、xorは各bit単位で完結するのに対し、subは他のbitに影響する。 もちろん、ほぼ全てのCPUで、どちらも同じclockで実行できるだろうけどね。 >>797 には、感動する前に、もう一度clock数を確認してみることを勧めるよ。
802 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 14:09:53 ] >>797 両方1clockだろ。
803 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 16:11:25 ] 廻されたbatファイルに mkdir con.\ と書かれていたので気になって実行すると 名前conのフォルダが作られていた事
804 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 16:17:53 ] >>803 うわ、すげ、まじで作れた。 で、これどうやって消せばいいんだw 適当にやってみたけど消せねー
805 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 16:40:28 ] >>804 rmdir con.\ したら簡単に消えたが,これではダメなのか?
806 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 17:11:12 ] >>805 thx! rmdir conとしつづけてうまく行かずに悩んでた。
807 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 19:31:15 ] >>806 他の禁止名も.\つけると作れる。 Dos & Win: AUX CON PRN NUL Dos: CLOCK Win9x: COM1 〜 COM4 CLOCK$ LPT1 〜 LPT9 XMSXXXX0 WinNT: COM1 〜 COM9 LPT1 〜 LPT9
808 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 21:05:37 ] A$=inkey$ x=x+(a$=36)-(a$=38) y=y+(a$=37)-(a$=39) こんな感じのを中学生のとき見て感動した
809 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:18:27 ] >>808 俺は、ベーマガで覚えた 比較演算子でtrueなら、1を返すのに感動したよ
810 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 02:30:43 ] BASICは0と-1じゃなかったか?(pascalも) 要は全bit0と全bit1で。 Cが特殊だったイメージ。
811 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 11:08:25 ] BASICの頃は、true/falseの戻り値は機種依存だったような記憶が。 移植やってて動作が逆になったり
812 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:10:39 ] 0がfalseじゃないのは極悪だなぁ
813 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 18:23:32 ] C覚えたての頃に見たstrcpyの実装。 今見たら「何だよこれ可読性考えろよ」って毒吐くんだろうけど。
814 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 20:18:27 ] strcpyはそれほど複雑でなくしかも色んなプログラムで大量に使われるものだから 可読性を犠牲にしても高速性を追求する価値があるものの一つじゃないか。 gccなんかはビルトインでインライン展開しちゃうしね。
815 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 02:36:51 ] >>813 strcpyの実装コードを見て、読みやすく短くて凄いと思ってしまった俺に対する当てつけか?
816 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 14:08:19 ] オープンソース系で感動できるコードってないの? FirefoxのはNSとかついててしねよって思ったけど
817 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 20:23:02 ] オプソは相当強力にコンベンションがないとゴチャゴチャする一方だからなあ……
818 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 23:51:23 ] while(*dst++ = *src++); 感動した
819 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:03:00 ] >>818 でも、それって無意味に可読性を犠牲にした典型的な悪い例として 槍玉に挙げられるようなコードだぞ。
820 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:05:00 ] >819 感動するだけならいいんじゃ?真似すんなよ初心者は、ってことで。
821 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:15:44 ] >>820 そんなコードは初心者だけじゃなく、上級者も避けるだろ、フツーは。 ようは、決していいコードなんかではなく、邪悪なコードなんだよ。 老婆心かも知れんが、そんな邪悪なモノに感動しているのはどうかと思うわけよ、ロートルとしては。
822 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:34:25 ] 何言ってんだよ 可読性高いぞ
823 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:40:50 ] 俺も、プログラマとしてはもう年だし、そろそろ上流行程の職へ進もうかと考えてるんだが、 >>822 みたいなヤツを見ると、このまま先へ行ってしまっていいものかと不安になる。
824 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:46:57 ] *d = *s; while(*d) { d++; s++; *d = *s; } これ可読性高い?
825 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:52:55 ] for(int i = 0;src[i++];dst[i]=src[i]); ならちょっとはマシ?
826 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 02:03:50 ] ほらな? こーゆー間違い犯すヤツ( >>825 )がでるだろ? これこそが >>818 が邪悪なコードだと言われる所以。 >>824 視点の違いというの理解してくれ。 ある視点においては、確かに >>818 のようなコードのほうが 可読性が高いのは俺も認めるし、複雑さを隠蔽しているという点に おいても評価されるべきかもしれん。 しかし、その複雑さの隠蔽が >>825 のようなミスを招く。 つか、もう古典的な書籍だが、Writing Solid Code ぐらい読んどけ。
827 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 02:47:48 ] 要するに馬鹿除けってことだな 愚直でもだれでもわかるコードを優先しろってことだ
828 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 02:55:26 ] >>826 M$のソフトのバグの多さとか見てると説得力全然無いんですけど
829 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 03:31:03 ] MSのソフトはバグが多いとか、そんなことバカなこと言ってるヤツがまだいたのか。
830 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 15:34:21 ] >>818 の様なコードが問題になるのは、"可読性"ではなく"安全性" MSのソフトにバグが多いというのは間違い、安全性に問題が多いと言うのが正しい まあ、MSに限った話じゃないけどな、>>818 の様なコードがC言語の標準ライブラリとして存在しているのだから...
831 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 20:06:59 ] >>830 えっ、本気で言ってるの?
832 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 20:21:46 ] ↑キモイ、アンチMS厨があらわれた。 いつも思うことだけど、この手のキモイ、アンチMS厨って 自分たちがやってることが逆効果でしかないってことにどうして 気づかんのかねぇ。まぁ、だからこそキモイんだけどさぁ。
833 名前:832 mailto:sage [2007/01/14(日) 21:23:59 ] >>832 マジレスすると、どっちかと言うとMS嫌いなんだけど、 Windowsがソースコード何行あるか知らないけど、良くこんなの作れるな〜と本気で思ってるよ 一応これでもソフト開発を生業としてるけど、Windowsよりもはるかに少ないソフトでも バグはあるからね・・・・。 >832の作るソフトはバグが無いんだろうね!!って言うかプログラム作った事が無い?
834 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 21:34:32 ] ↑この人、マジでチョーキモイんですけど。 騙りまでやってなにがしたいんだが、さっぱり意味不明だし。
835 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 22:57:03 ] >>833 名前欄間違ってないか?
836 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 22:57:55 ] あ、自演か。
837 名前:825 mailto:sage [2007/01/15(月) 02:17:18 ] なんか俺が投下したアホコードがいつのまにやら延焼を広げている…… あんまりケンカすんなよ、おまいら
838 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 07:25:34 ] っつーか、Cの思想的には>>818 はとても正しいでしょ。 記述量も少ないし。
839 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 07:30:53 ] 2chの死相的には人を見下して叩くのが生き甲斐の香具師が多いからなぁ
840 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 14:03:00 ] \0が来なかったらと思うと恐ろしくて眠れません
841 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 15:42:39 ] それじゃ文字の検索すらできないよ
842 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 07:33:46 ] オーバーランして\0が来ないことよりも ワーム埋め込まれることの方が怖いって話?
843 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 03:12:52 ] >>838 文法は、正しいが、思想的には正しいのか? C言語の思想って何だ? 記述量少ないのはいいね。 だけど、やはりわかりにくい。
844 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 09:02:12 ] 思想じゃなくて精神だけど、これのことかも。 Cの精神 ・プログラマを信頼する ・プログラマが行うべき必要作業を妨げない ・小さく単純な言語仕様 ・一つの操作に一つの方法 ・移植性が保証されなくても早い処理速度 ソース: ttp://www.amazon.co.jp/exec/obidos/ASIN/4320027973/hirnet-22
845 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 09:04:05 ] ……と思ったけど、どれにも関係ないような。
846 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:15:37 ] 当時のCコンパイラの実装では、>>818 と書いた方が 効率的なコードが生成されたからとかじゃね? 最適化技術が発達した今のコンパイラではどうかわからんけど
847 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 17:02:06 ] 確か、当時のUNIXを動かしてたプロセッサに 読み取り後インクリメント等の、*p++に相当する命令があって それを生かすためにCの文法をそれにあわせて作った というようなことをどこかで読んだ気がするが 真偽は未確認。
848 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 04:29:25 ] >>847 それ、リッチー(K&RのR)が否定してたはず。
849 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 08:34:44 ] 結局、Cの思想じゃなくて>>838 の思想だったってことでFA?
850 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 11:15:43 ] >>849 タイプ数を減らすことを、C の設計目標のように書いた記事を、80年代に何度か読んだ覚えがある。 >838 の思想というか、>838達の妄想かも?
851 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 15:04:25 ] >>847 それは ?: 三項演算子の事だったと思う
852 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:30:20 ] タイプ数減らしをノルマのように科すと汚いソースになると思うが、 タイプ数を意識的に増やすと機械生成のように冗長で読みにくくなると思う。 MFCとかのRADで吐いたようなダラダラ長いのもまた疲れるw
853 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:38:42 ] >>818 のコードは、現在でも早いし、コンパイル後のサイズも小さいはずだよ ただし、CPUの高速化で無意味にはなっているがな 今のトレンドは、早いこと、小さいことよりも、安全であることだろ
854 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 22:17:03 ] >>853 >>818 のコードは確かに遅くはないだろうが、 別に等価な他の表現にくらべて元から優位性があるわけではない。
855 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 04:48:42 ] >>854 そりゃ何を等価と定義して優位性を何で測るかによるだろうよ
856 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 10:54:32 ] >>853 「安全」を定義してください。
857 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 19:27:29 ] while (*((int *)dst)++ = *((int *)dst)++); 速度も危険度も数倍に
858 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 22:32:36 ] 正直、読む気がしない。
859 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 08:14:45 ] >>856 定義されなきゃわかんねえのか?
860 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 12:59:44 ] >>859 解ったフリしてないで safe 或いは proof で終わる単語が幾つあるか 探して来い脳足りん。
861 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 15:03:37 ] 馬鹿あらわる
862 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 15:21:23 ] やっぱ>>818 は可読性高いと思うよ。
863 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 01:18:15 ] イディオムとして記憶してる奴にはな。俺もだが。
864 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 12:55:40 ] >>818 を理解できない、読みにくいというのは、 Cプログラマとして前提が間違ってると思う。 理解していてはじめてCプログラマなんであって。
865 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:31:58 ] んで、理想論でバグの種を量産するわけだ。
866 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 20:29:13 ] プログラム始めたばかりの頃「not 演算子」の存在を知って感動した。 それまでいちいちTrueだったらFalse、FalseだったらTrueを返すif文書いてたので そのめんどくさい数行のif文がたった1語で表現できる簡潔さに美しさと感動を覚えた。
867 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 00:09:06 ] >>818 のコードは、この世の中で最も素晴らしい物だと思う >>818 のコードを理解することで、C言語の良さと邪悪さの両方が判る ほら、感動的なコードに見えてきただろ?
868 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 09:43:19 ] そもそも「感動する」のに安全性が関係するのか?
869 名前:デフォルトの名無しさん mailto:sage [2007/05/20(日) 10:05:49 ] そういやそうだ。 そんな評価基準を語るスレじゃないな。
870 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 08:07:57 ] ま、>>819 が文句をたれるだけで、実際のコードを提示しない時点で そいつがどんな奴か気づくよな。普通・・・
871 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 08:46:00 ] 人間が言う「普通」は、全て「俺(私)の脳内では」に置換できる
872 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 18:46:52 ] メタレベルの感動だが プログラムというものが上から下へ一行ずつ実行されるものだと初めて知ったとき。 いまだかつてこれ以上の衝撃はないかな。
873 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 20:38:19 ] ノイマンならしょうがないね
874 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 21:04:58 ] それ系だと、 マルチタスクの仕組みに気付いた時は衝撃だった。 自力でコンテキストスイッチするプログラムを書いた時、 とても興奮したのを覚えてる。
875 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 23:36:29 ] そういう興奮って時代が下っていろんな仕組が用意されてくると味わうことが難しくなるね。
876 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 11:24:57 ] そういう意味では、BASICの命令文をマシン語で拡張するすごい人がいる、 というのしか知らなかった頃に、「命令を自由に定義できる文法がある言語」 の紹介記事を読んだときは驚いたなー。ちなみにFORTH。初めて買ったOh! MZの言語紹介記事にて。小6だったか中1だったか……
877 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 11:06:46 ] 俺の場合はLispのmacroが衝撃だった マクロアセンブラなんかは知ってたけどパワーが段違い
878 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 02:28:07 ] イベントドリブンなんか感動したなあ
879 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 05:44:15 ] イベントドリブンやLispのマクロなんかはいまの若者も感動してそうやね。
880 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 06:32:03 ] マクロは強力すぎ。 だけど、マクロに感動するまえに再帰に感動するのがセンスのいい子
881 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 02:57:30 ] あぁ確かに そう言えば Ackerman 関数なんて恐ろしいものもあったな
882 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 03:57:36 ] コールバックも感動もんかな。 自分で制御してるのとは違う流れになるって辺り。 昔のBASICでも、ONなんとかGOSUBとかあったけど。
883 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 04:41:41 ] 上から下へのシーケンスフローの手続き型プログラムから 状態遷移のイベント駆動型プログラムに移行したときは 最初は何が何処から始まってどういう風に流れていくのかさっぱりだった。
884 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 05:04:37 ] >>881 あんな簡単にトンデモないものが作れるのは衝撃だった>アッカーマン関数
885 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 21:25:11 ] char hoge="あ"; putchar(hoge);
886 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 12:27:12 ] 変なコンパイラだな
887 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 16:39:09 ] いったい何を表示させたいんだ
888 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 01:16:28 ] } / o ゚.私はメーテル… . 〉'' ,、,,,__ ノ} 。 :∴ 機械の体が欲しいのなら i ムツッ=,ニ_゙゙"''‐- 、、,,,__,,..,,,.. -‐'''"/ 。 X,, 999に乗りなさい l {{ ハ` `゚'~` ,‐-,ニ二ヾ,,_ヽ / i'(_,.l\ 〉、`ハ } ` `゚'゙゙” }}'゙ ,' ti=ti、iiヽ . / ハヽハ ノ // { ゙ヾヽ} / /ハヽヘ `、_ (Cノ/ / ハ ノラ / // } Y゙\ ` Cノイ / \ 〆' . / / / / ,ゞ,, `-‐ ''´〆⌒ヽ{ ,' ハ \ ;''"''ヾノ /_,/ `'' ァ''7/ \l l ヽヾ \
889 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 14:00:12 ] コピペにレスするのもナニだけど、 このスレ的には、その機械の体を動かしてる プログラムのソースを見せろ、と。
890 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 08:34:05 ] >889はエロ杉
891 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 10:15:04 ] プログラムのソースで、性的興奮できるのか?
892 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 15:38:44 ] そりゃーコード解析すれば何処が性感帯かとか、どんな体位が好みとかわかるじゃん。
893 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 15:40:45 ] デバッガにかけて弄り倒す方が楽かも
894 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 02:08:03 ] デバグが上手い人って、SEXも上手そう
895 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 15:51:56 ] ナンパだろ。極意まどない、ひたすら打ちまくるだけ。
896 名前:デフォルトの名無しさん [2007/08/14(火) 21:42:55 ] bool Jap; char MSG_cntopnX[] = "can't open: %s: %s\0ファイル %s がオープンできない (%s)"; (中略) char *chooseMsg(char *s) { return (Jap ? s + strlen(s) + 1: s); } LSI C-86試食版に同梱されていたcppのソースより これは面白いと思った
897 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 21:46:00 ] 全部の行にコメント付
898 名前:デフォルトの名無しさん mailto:sage [2007/08/14(火) 22:51:29 ] import *;
899 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:59:04 ] >>896 実行時の効率もソースの見易さも悪い感じ
900 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 19:16:41 ] CからC++に移行してSTLのソース初めて読んだときだな。 typedefとconstの使い方に衝撃を受けた。 型を引数にして型や定数を計算できちゃうなんて!??
901 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 19:32:29 ] real :: x(0:4) = (/0, 1, 2, 3, 4 /), y(1:5) y = x**2 - 2*x + 1 print *, y forall (i=0:3) x(i+1) = x(i) print *, x
902 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 10:34:14 ] f :: (Ord a) => a -> Bool g :: (Ord a) => a -> a filter (f).map (g) --filter (>0).map (+1) [-2,-1,0,1,2] 〜> [1,2,3] とか qSort :: (Ord a) => [a] -> [a] qSort [] = [] qSort (x:xs) = qSort [w | w <- xs, w<=z] ++ [x] ++ qSort [y | y <- xs, y>x] --qSort "あいえおう" 〜> "あいうえお" とかは感動した
903 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 10:53:57 ] ソースだけ公開されても頭悪いからどこが感動したのかわからん。 詳しく説明してくんなはれ。
904 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 11:13:27 ] 勉強しなさい
905 名前:デフォルトの名無しさん [2008/01/25(金) 18:05:50 ] ×感動した ○ワラタ
906 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:16:09 ] Sub Func() End End Sub
907 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 20:42:54 ] 一番かどうかわからんが。WTLの0x042444C7のやつ。 自分でも試しに書いてみたが、え、動くんだ? とか思った。
908 名前:デフォルトの名無しさん [2008/01/25(金) 23:10:33 ] mainの引数argv[0]なんて使わねぇのにこんなん渡すんじゃねぇって 昔から思ってたんだが、busyboxのソース見て感動した。 多分こんなんで感動するの俺だけなんだろな。
909 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 00:56:53 ] >>907 マシン語を直にソースへ埋め込んでるのか ネタとしては面白いけど可搬性無いね
910 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 01:43:46 ] DUnit(Delphi用のユニットテストライブラリ)にて {$IFNDEF CLR} procedure TAbstractTest.CheckMethodIsNotEmpty(MethodPointer: pointer); const AssemblerRet = $C3; begin if byte(MethodPointer^) = AssemblerRet then Fail('Empty test', MethodPointer); end; {$ENDIF} 空のテストメソッドをどうやって判別してるんだと思ったら、asm の ret で判断しててウケタ
911 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 02:36:11 ] ソースじゃないんだが、はじめてNextのインターフェースビルダーを見たときは脳内麻薬でまくりだった。
912 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 15:23:02 ] >>908 UNIX業界行くとviとかsendmailとかargv[0]により挙動の違うプログラムは多い >>911 今でもMac用として残っているので是非使ってやってくれ 漏れはWebObjectが今でもすごいと思ってる 再帰を使ったルーチンは感心できるのが多い気がする。 末尾再帰除去をきちんとやっているqsort()のソースを見たときは結構感心した。 main()を再帰呼び出ししているプログラムを見たときはC言語の仕様に感心した。
913 名前:デフォルトの名無しさん [2008/01/27(日) 05:49:54 ] おまえら羨ましすぎる。 COBOL歴20年越えるがCOBOLコードで感動した覚えがない。 背筋が凍りつきそうなコードは何度か出くわしたが。(これをメンテしろってか)
914 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 05:58:38 ] >>913 多分、お前の書いたCとかのコードを見たら、周りの人間が背筋の凍る思いをするんだろうな。
915 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 06:01:36 ] >>914 まあ、俺に「Cで書け」と頼まれる事もないがな。 頼まれても「できん!!」としか言えない。
916 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 13:51:36 ] >>915 普段どういうコード見たり書いたりしてるのさ
917 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:56:23 ] MFCの腐ったコードになれしたしんだころ Qtの対照的なコードにほれた記憶がある。 もちろんGUIをつくるには使いづらいので ほとんど使わなかった。
918 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:58:00 ] >>913 俺はコボルプログラマに感動する キーボード打つの苦手&英語苦手だから 俺がやるとスペル間違えまくり&遅くなりそう
919 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 01:34:18 ] >>917 ちょっと話がそれるが、今はなんでGUI作ってるのかおしえてくれん? 参考までにちょっと聞きたいなぁっと
920 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 01:38:07 ] チンパンジーでもなるべく操作できるように
921 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 03:32:00 ] >>918 今時のコボラーは、IDEで自動補完、スニペット使いまくりに決まってるだろ、常考
922 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 21:17:01 ] >>921 そうなんだ、情報処理試験のしか見たことないからしらんかった。
923 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 23:47:33 ] COBOL歴20年越えるが”IDEで自動補完、スニペット”なんか知らん!! DISPLAYで充分じゃ。
924 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 08:39:54 ] 地震測定器のソースは感動したぞ アンテナにかかる電圧の負荷を描画するだけだった
925 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 21:53:06 ] 成り行きでいっちゃう場面きた
926 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 21:53:33 ] ↑すみません、誤爆です
927 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:09:20 ] なんか書け
928 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 16:04:09 ] printf("Hell world!");
929 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 19:38:16 ] ttp://ogawapc.myhome.cx/gameprogu2.htm
930 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 10:06:01 ] return continue …高尚な語彙
931 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 04:44:12 ] 感動したソースは、あれだな、 pcm8だな ハードウェアで1chしかないPCMをソフトウェアで8chにするドライバ
932 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 17:24:12 ] >>931 あなたプログラマじゃないでしょ
933 名前:デフォルトの名無しさん [2008/06/01(日) 23:47:13 ] 今でもソースコード付きでVectorに掲載されてるよ
934 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 16:25:14 ] >>931 ミキシングしてるだけだろ 何か特別なことしてるわけじゃなかろうが
935 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 18:00:06 ] ここで颯爽とコロンブス登場。
936 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 19:10:26 ] 10 run ;
937 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 22:14:25 ] >>934 理論的にはできるのわかってても、 それをクロック10MHz程度、メモリも1〜2M程度で実際にやってみるのがミソだな。 さらに最適化したpcm8aだったっけ、普及したのは?
938 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 16:48:34 ] 俺はディスカバリー、ヒストリーチャンネル、J−SPORTで欧州リーグみてるよ。 そんでさ、ふっと民放にチャンネル変えると、 すげーやらせ臭い笑い番組やってんだよな。ゴチバトルとかいってさ。
939 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 22:29:32 ] 昔見た某社カーナビのソース。 巨大なswitch文のcaseが直値で書かれていたこと、 じゃなくて、それが10進と16進表記が混在していたことかな。
940 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 00:12:47 ] 皮肉かよ
941 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 17:47:37 ] >>939 すれ違い
942 名前:デフォルトの名無しさん [2009/01/03(土) 17:58:46 ] スレ違いだろうがVC2005で日本語が使えた時。 厨臭いのは十分解かってるがこのコードに何か可能性を感じた。 #include<stdio.h> #include"日本語.頭" //日本語のdefine群 これは、(収納の,空間) { これは、(測りの一種,構造体) { 符号が無い 長い 整数の 長さ を持つ。 }; これは、(図形の一つ,構造体) { 符号が無い 長い 整数の 高さ と、 幅 を持つ。 無し 面積を表示(無し) { ここに、 符号が無い 長い 整数の 面積 がある。 面積 とは、 高さ を(幅,で掛けた)ものだ。 printf("%d",面積); } }; } 整数の 主要(整数の 引数の数,文字の *引数配列[]) { ここは、全ての 収納の 中身を含む。 ここに、 測りの一種 定規 がある。 また、 図形の一つ 長方形 がある。 定規 の 長さ は、 100 で、 長方形 の 高さ は、 定規 の 長さ と同じだ。 また、 長方形 の 幅 は、 長方形 の 高さ を(2,倍)したものになる。 それでは、 定規 の 長さ が(100,と同じ)である限り 長方形 の 面積を表示 > 定規 の 長さ は、 0 にする。 もし 長方形 の 高さ が(100,未満) だったら 関数は -1 を返す。 じゃなかったら 関数は 0 を返す。 }
943 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 18:32:14 ] 2万行を超えるクラス
944 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 02:33:58 ] 果たしてそれは感動という言葉を用いるのが適切なのかどうか。 1クラスの行数で言うと.NETのDataGridViewクラスは2万行どころじゃないね。
945 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 04:06:30 ] #define i int #define think main #define it ( #define is void #define the ) #define best { #define code return #define in 0 #define this ; #define world } i think it is the best code in this world しょうもなっ
946 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 08:46:16 ] >>944 >1クラスの行数で言うと.NETのDataGridViewクラスは2万行どころじゃないね。 え、うそだろ・・・
947 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 18:09:27 ] bool IsSeven(int n){ return n = 7; } C++勉強始めたころ、これにものすごい感銘受けたな
948 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 19:19:13 ] 説明してくれ
949 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 20:10:04 ] >>946 DataGridViewMethods.csだけで3万行近くあるよ。中身はDataGridViewクラスだけ。 partialで分割されてるから、クラス単位で見るともっと行数あるはず。
950 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 20:57:01 ] >>949 いやDataGridで何やってるか詳しく知らんけれど、今作ってるライブラリーがGrid関係だけでなくThreadとか全部含めても2万行ぐらい何で・・・ データソースがあって、それを基本的に表示編集するだけで何で2万3万行も必要なのかと。
951 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 15:07:15 ] >>942 マジキチwww
952 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 21:56:20 ] でも、>>942 みたいな言語、使ってる人いるわけでしょ ひまわりとか、なんかそんな名前の 意外とニーズあるのかもしれない
953 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:49:48 ] 日頃、変数名を文字列でなく記号としてとらえてる自分としては 逆に文章を読んでしまい開発効率が下がる。