七行プログラミング part2
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
600:デフォルトの名無しさん 02/07/30 22:26 スライド辞書の別版です、適当に作ったのでまだ縮む筈 #include<stdio.h>/*encoder*/ int X,Z,M,P;char*L,B[17],*W=B,*N,*R,K,*T;main(int c,char**v){FILE*r=fopen(v[1], "rb"),*w=fopen(v[2],"wb");for(;~(X=fgetc(r));L[Z++]=X)L=realloc(L,Z+1);for(N=L; N-L<Z;K+=K){if(!K)fwrite(B,K=1,W-B,w),W=B,*W++=0;for(X=0,(M=L-N+Z)>18?M=18:0,(T =N-4096)<L?T=L:0;T<N;T++,P>X?X=P,R=T:0)for(P=0;P<M&&T[P]==N[P];P++);X*=2<X;P=N- R;X?*W++=P>>8<<4|X-3:(*B|=K);*W++=X?N+=X,P:*N++;}fwrite(B,1,W-B,w);} #include<stdio.h>/*decoder*/ int X,Z,M;char*W,F,K,*C;main(int c,char**v){FILE*r=fopen(v[1],"rb"),*w=fopen(v[ 2],"wb");for(;~(X=fgetc(r));K+=K){if(!K)F=X,X=fgetc(r),K=1;if(F&K)M++[W=realloc (W,M+1)]=X;else for(Z=3+X%16,W=realloc(W,M+Z),C=W+M-fgetc(r)-X/16*256-1;Z--;W[M ++]=*C++);}fwrite(W,1,M,w);} 601:デフォルトの名無しさん 02/07/30 23:09 >>600 うわー、これまた奇妙で素晴らしい。 こんな配列の操作方法、普段は絶対に使いたくないですなあ。 M++[W=realloc(W,M+1)]=X ・・・おおっ、(W=realloc())[M++] よりカッコの分だけ短くなるのかー!
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5385日前に更新/349 KB
担当:undef