[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/10 16:01 / Filesize : 349 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

七行プログラミング part2



1 名前:デフォルトの名無しさん [02/04/15 12:09]
7行×79文字なら言語は問いません。
過去作品は>>2-5を参照。

■前スレ
pc.2ch.net/test/read.cgi/tech/984182993/

367 名前:デフォルトの名無しさん [02/06/14 19:40]
キタ━━━━(・∀・)━━━━━━!!!!!!!

368 名前:366 mailto:sage [02/06/14 20:04]
ここの人はレベルが高くてHSPを知らない罠か・・・(´д`;

369 名前:デフォルトの名無しさん mailto:sage [02/06/14 21:09]
>368
いや、縮める隙を探してるさいちゅう。
HSPだって立派じゃないけど言語だしね

370 名前:366 mailto:sage [02/06/14 21:35]
>>369
ありがたや。なるべくif文使わないようにしたから、回りくどいことやってます。(´ー`
もっといい迷路アルゴリズムが使いたいんだけど、長くなる・・・

371 名前:デフォルトの名無しさん [02/06/14 23:05]
>>350
(゚д゚)すげー

372 名前:デフォルトの名無しさん mailto:sage [02/06/14 23:22]
>>367だけど
>>366,>>368ゴメソ、HSPだったのね、よく考えずにレスしてた(w

勉強中の折れは「レベルが低くてHSPを知らない」のであった。
ダウソしてみよかな?

373 名前:moge mailto:hage [02/06/15 00:12]
もっと繁栄を願ってage

374 名前:デフォルトの名無しさん [02/06/15 14:38]
7行以内でbase64エンコード/デコードプログラム作ってくれ

375 名前:デフォルトの名無しさん mailto:sage [02/06/15 15:24]
#include "stdafx.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
ExitWindowsEx(EWX_SHUTDOWN,0);return 0;}

まぁ激しくガイシュツだろうな・・・。



376 名前:デフォルトの名無しさん mailto:sage [02/06/15 17:21]
ネットワークゲーム用の汎用サーバとかは7行じゃ大変?
Javaでキボンヌ。

377 名前:デフォルトの名無しさん mailto:sage [02/06/15 20:35]
>>376
そもそも汎用サーバなどという発想自体が厨
仕様を定義してみせい

378 名前:デフォルトの名無しさん mailto:sage [02/06/16 13:41]
アクセスしてきたクライアントのソケットを保持。
どのクライアントから言われたことも、すべてのクライアントに返す。
という意味でした。

379 名前:デフォルトの名無しさん mailto:sage [02/06/16 13:46]
>>378
絶対どこかでデータの動機ミスが怒りそうな予感。

380 名前:デフォルトの名無しさん mailto:sage [02/06/16 18:48]
>>378
それはむしろチャットサーバだね。そのくらいならできそうかな。
本気でネットゲの鯖やるならオブジェクトの同期も考えるから難しい。

381 名前:デフォルトの名無しさん [02/06/21 22:16]
たまには、あげにゃ

382 名前:デフォルトの名無しさん [02/06/22 00:08]
HSP製があったので、私もHSPでチャレンジ。
行数削るのだるいんでそのまんま。
一応砂嵐。改行なくせば一行いくかな?

boxf 0,400,640,0
repeat
redraw 0
repeat 60
y=cnt*8
repeat 80
x=cnt*8
pos x,y
rnd rx,640
rnd ry,480
gcopy 0,rx,ry,8,8
loop
loop
redraw 1
await 1
loop

処理的にはパレットモードにして、
パレットを白黒にランダムで変更てのが楽なんだけどね。
つーか、そっちも作ってみるかな。

383 名前:デフォルトの名無しさん [02/06/22 00:13]
>>382
7行にまとめよ

384 名前:382 [02/06/22 00:37]
>>383
スマソ、そういうわけでまとめてみたら2行になった。

boxf 0,0,640,400:repeat:redraw 0:repeat 60:y=cnt*8:repeat 80:x=cnt*8:pos x,y
rnd rx,640:rnd ry,480:gcopy 0,rx,ry,8,8:loop:loop:redraw 1:await 1:loop

砂嵐の濃度調整はboxf 0,0,640,400の部分で、画面を何割黒で塗りつぶすかで決まるから。

385 名前:デフォルトの名無しさん mailto:sage [02/06/22 00:46]
お題:BlockSorting



386 名前:デフォルトの名無しさん mailto:sage [02/06/22 01:20]
>>385
#include <stdlib.h>
typedef unsigned char b;e(b*s,b*d,int c){unsigned*o,i=0,r;o=calloc(65536,4);c--
;for(i;i<c;i++)o[s[i]<<8|s[i+1]]++;o[s[c]<<8|*s]++;for(i=1;i<65536;i++)o[i]+=o[
i-1];d[--o[s[c]<<8|*s]]=s[i=c-1];for(;i;i--)d[--o[s[i]<<8|s[i+1]]]=s[i-1];r=--o
[*s<<8|s[1]];d[r]=s[c];free(o);return r;}

一応、限定ソートなり。

387 名前:デフォルトの名無しさん mailto:sage [02/06/22 01:44]
こっちは復元

#include <stdlib.h>
typedef unsigned char B;void d(B*s,B*d,int c,unsigned x){unsigned*o,i,a=0,t[256
];memset(t,0,1024);for(i=--c;i;i--)t[s[i]]++;o=calloc(65536,4);for(;i<256;i++){
memset(d+a,i,t[i]);a+=t[i];}for(i=0;i<=c;i++)o[(s[i]<<8)+d[i]]++;for(i=1;i<
65536;i++)o[i]+=o[i-1];*d=d[x];d[c]=s[x];d[c-1]=s[--o[(d[c]<<8)+*d]];for(i=c;i>
2;i--)d[i-2]=s[--o[d[i-1]<<8|d[i]]];free(o);}


388 名前:385 mailto:sage [02/06/22 01:58]
>386-387
(゚д゚)ハヤー

で、自分でも作ってみた。動作未確認・ブロックサイズ256に固定。
#include <stdlib.h>
enum{S=256};typedef unsigned char UC;int cmp(void*a,void*b){return memcmp(a,b,S
);}UC*bs(UC*s,UC*d){UC*p,**t,i;p=malloc(S*2);t=malloc(S);for(i=0;i<S;i++)p[i]=p
[i+S]=s[i],t[i]=p+i;qsort(t,S,S,cmp);for(i=0;i<size;i++)if(p== t[i])break;*d++=
i;for(i=0;i<S;i++)d[i]=t[i][S-1];free(p);free(t);return --d;}


389 名前:385 mailto:sage [02/06/22 02:50]
ぅぁー、>388バグりまくりだ。
出なおしてきます。


390 名前:デフォルトの名無しさん [02/06/24 00:47]
ageじゃ!

391 名前:デフォルトの名無しさん mailto:sage [02/06/24 19:14]
インチキだけど(includeとか含めなければ)7行
アナログ時計

#define NO_STRICT
#include <windows.h>
typedef void*v;typedef int i;typedef float f;f q=50,r=100;f R(f n){return(90.0\
-n)/57.3;}void L(v h,f r){MoveToEx(h,q,q,0);LineTo(h,q+q*cos(r),q-q*sin(r));}i\
WINAPI WinMain(v,v,char*,i){v h=CreateWindow("EDIT","n",(1<<28),0,0,1<<31,1<<\
31,0,0,0,0);HideCaret(h);SetTimer(h,1,r,0);MSG m;while(GetMessage(&m,0,0,0)!=0\
){if(m.message==275){v d=GetDC(h);Rectangle(d,0,0,r,r);SYSTEMTIME s;GetLocalTi\
me(&s);L(d,R(s.wSecond*6));L(d,R(s.wMinute*6));L(d,R(s.wHour*30));ReleaseDC(h,\
d);}if(m.message==513){break;}DispatchMessage(&m);}KillTimer(h,1);}

392 名前:デフォルトの名無しさん mailto:sage [02/06/28 14:31]
漏れの環境(VS6SP5)だと、
math.hをインクルードしないとエラーになったので、
一行減って、一行増えたから、減ってない・・・。
鬱だ。

#define NO_STRICT
#include <windows.h>
#include <math.h>
typedef void*v;typedef float f;v d;f q=50;void L(f r){r=(15-r)/9.55;MoveToEx(d,
q,q,0);LineTo(d,q+q*cos(r),q-q*sin(r));}int WINAPI WinMain(v,v,char*,int){v h=\
CreateWindow("EDIT","n",1<<28,0,0,1<<31,1<<31,0,0,0,0);HideCaret(h);SetTimer(h,
1,100,0);MSG m;while(GetMessage(&m,0,0,0)&&m.message!=513){if(m.message==275){
d=GetDC(h);Rectangle(d,0,0,100,100);SYSTEMTIME s;GetLocalTime(&s);L(s.wSecond);
L(s.wMinute);L(s.wHour*5);ReleaseDC(h,d);}DispatchMessage(&m);}KillTimer(h,1);}


393 名前:デフォルトの名無しさん mailto:sage [02/06/28 15:00]

「 #include
  は数えないのはどうよ?」
って議論になったことがあった(はず)なのでキニスンナ!

394 名前:デフォルトの名無しさん [02/06/28 19:29]
新たなお題キボーン

395 名前:デフォルトの名無しさん mailto:sage [02/06/28 19:47]
>>393
おいおい、ソリャだめだって話になったろ



396 名前:392 mailto:sage [02/06/28 21:22]
>>395
オーケイ、分かった

#include <windows.h>
#include <math.h>
HDC d;float q=50;L(float r){r=(15-r)/9.55;MoveToEx(d,q,q,0);LineTo(d,q+q*cos(r)
,q-q*sin(r));}WINAPI WinMain(HINSTANCE i,HINSTANCE,LPSTR,int){WNDCLASS w={67,D\
efWindowProc,0,0,i,0,0,0,0,"1"};RegisterClass(&w);HWND h=CreateWindow("1",0,51\
3<<19,0,0,200,200,0,0,i,0);SetTimer(h,1,99,0);MSG m;d=GetDC(h);while(GetMessag\
e(&m,h,0,0)!=-1){if(m.message==275){Rectangle(d,0,0,100,100);SYSTEMTIME s;GetL\
ocalTime(&s);L(s.wSecond);L(s.wMinute);L(s.wHour*5);}DispatchMessage(&m);}}

先人の遺産(砂嵐)を参考にしてみた

でも、漏れには限界・・・


397 名前:392 [02/06/28 22:55]
前スレの537を参考に・・・

#include <windows.h>
typedef double b;b cos(b);b sin(b);HDC d;b q=30;L(b r){r=(15-r)/9.55;MoveToEx(d
,q,q,0);LineTo(d,q+q*cos(r),q-q*sin(r));}WINAPI WinMain(HINSTANCE i,HINSTANCE p
,LPSTR l,int q){MSG m;HWND h;SYSTEMTIME s;WNDCLASS w={67,DefWindowProc,0,0,i,0,
0,0,0,"1"};RegisterClass(&w);h=CreateWindow("1",0,513<<19,0,0,95,95,0,0,i,0);S\
etTimer(h,1,99,0);d=GetDC(h);while(GetMessage(&m,h,0,0)!=-1){if(m.message==275)
{Rectangle(d,0,0,60,60);GetLocalTime(&s);L(s.wSecond);L(s.wMinute);L(s.wHour*5)
;}DispatchMessage(&m);}}

あと、24字で七行達成かな?
一人でやってると鬱だからage

誰か、助けて

398 名前:392 mailto:sage [02/06/28 22:56]
書き忘れたけど、>>397からは.cppじゃなくて.cでよろしく

399 名前:tara mailto:sage [02/06/29 04:50]
VC++ .NETであれば、これでも動くはずです。

#include <windows.h>
typedef double b;b cos(b),sin(b);HDC d;b q=30;L(b r){r=(15-r)/9.55;MoveToEx(d,q
,q,0);LineTo(d,q+q*cos(r),q-q*sin(r));}WinMain(i,p,l,q){MSG m;HWND h;SYSTEMTIME
s;WNDCLASS w={67,DefWindowProc,0,0,i,0,0,0,0,"1"};RegisterClass(&w);h=
CreateWindow("1",0,513<<19,0,0,95,95,0,0,i,0);SetTimer(h,1,99,0);d=GetDC(h);
while(GetMessage(&m,h,0,0)!=-1){if(m.message==275){GetLocalTime(&s);Rectangle(
d,0,0,60,60);L(s.wSecond);L(s.wMinute);L(s.wHour*5);}DispatchMessage(&m);}}


400 名前:デフォルトの名無しさん mailto:sage [02/06/29 13:54]
>>395
いや、「打つ」とかかいてあったんで。

401 名前:392 mailto:sage [02/06/29 16:48]
>>399
お早う。本当だ、動いたヨ。
ずっと、VS6でやってたからなぁ。

何はともあれ、taraさんThx!


402 名前:392 mailto:sage [02/06/29 18:07]
#include <windows.h>
typedef double b;b sin(b),q=30;HDC d;HWND hL(b r){r=(15-r)/9.55;MoveToEx(d,q,q,
0);LineTo(d,q+q*sin(r+1.57),q-q*sin(r));}WINAPI WinMain(HINSTANCE i,HINSTANCE p
,LPSTR l,int q){MSG m;SYSTEMTIME s;WNDCLASS w={67,DefWindowProc,0,0,i,0,0,0,0,
"1"};RegisterClass(&w);h=CreateWindow("1",0,513<<19,0,0,95,95,0,0,i,0);SetTimer
(h,1,99,0);d=GetDC(h);while(GetMessage(&m,h,0,0)!=-1){if(m.message==275){Recta\
ngle(d,0,0,60,60);GetLocalTime(&s);L(s.wSecond);L(s.wMinute);L(s.wHour*5);}Dis\
patchMessage(&m);}}

taraさんを見習って宣言をまとめた。
あと、cosを使わないように変えた。
これで、5文字減らした。
VS6でも七行達成するのを目標に!

403 名前:392 mailto:sage [02/06/29 18:14]
>>402
しまった。HWND hの後にセミコロンが抜けてる!
でも、4行目の余白で吸収されるかな。

404 名前:デフォルトの名無しさん [02/06/29 23:34]
家にはVC++無いんで確認できないけど七行達成したよ。
誰か確認おながいします。

#include <windows.h>
float sinf(float),q=30;HDC d;HWND h;MSG m;L(float r){MoveToEx(d,q,q,0);r/=9.55;
LineTo(d,q+q*sinf(r),q-q*sinf(r+1.57));}WINAPI WinMain(HINSTANCE i,HINSTANCE p,
LPSTR l,int q){SYSTEMTIME s;WNDCLASS w={67,DefWindowProc,0,0,i,0,0,0,0,"1"};Re\
gisterClass(&w);Rectangle(d=GetDC(h=CreateWindow("1",0,513<<19,0,0,95,95,0,0,i,
0)),0,0,60,60);SetTimer(h,1,99,0);while(GetMessage(&m,h,0,0)>-1)m.message==275?
GetLocalTime(&s),L(s.wSecond),L(s.wMinute),L(s.wHour*5):0;DispatchMessage(&m);}


405 名前:せめて mailto:sage [02/06/29 23:37]
>>404
なにをするプログラムなのか、書け



406 名前:392 mailto:sage [02/06/29 23:41]
#include <windows.h>
typedef double b;b sin(b),q=30;HDC d;HWND h;L(b r){r=(15-r)/9.55;MoveToEx(d,q,q
,0);LineTo(d,q+q*sin(r+1.57),q-q*sin(r));}WINAPI WinMain(HINSTANCE i,HINSTANCE
p,LPSTR l,int q){MSG m;WORD s[8];WNDCLASS w={67,DefWindowProc,0,0,i,0,0,0,0,"1"
};RegisterClass(&w);h=CreateWindow("1",0,513<<19,0,0,95,95,0,0,i,0);SetTimer(h,
1,99,0);d=GetDC(h);while(GetMessage(&m,h,0,0)!=-1){if(m.message==275){Rectangle
(d,0,0,60,60);GetLocalTime((PSYSTEMTIME)s);L(s[6]);L(s[5]);L(s[4]*5);}Dispatch\
Message(&m);}}

SYSTEMTIME構造体をWORDの配列に変更

407 名前:404 mailto:sage [02/06/29 23:53]
>405
>>402のを縮めてみますた。

408 名前:392 mailto:sage [02/06/29 23:53]
>>404
ごめん、見てなかった

残念ながら、
error LNK2001: 外部シンボル "_sinf" は未解決です
fatal error LNK1120: 外部参照 1 が未解決です。

と言われたよ。

409 名前:デフォルトの名無しさん mailto:sage [02/06/30 00:03]
つーか>>399のやつ、VC6.0でも動くが何が問題?

410 名前:392 mailto:sage [02/06/30 00:13]
>>409
あ、VC.NETで動くのは見たけど、
VC6で動かないのは確かめなかった。
taraさん、>>404さん、ごめんなさい

#include <windows.h>
double sin(double),q=30;HDC d;L(double r){r/=9.55;MoveToEx(d,q,q,0);LineTo(d,q+
q*sin(r),q-q*sin(r+1.57));}HWND h;WinMain(i,p,l,q){MSG m;WORD s[8];WNDCLASS w={
67,DefWindowProc,0,0,i,0,0,0,0,"1"};RegisterClass(&w);h=CreateWindow("1",0,513\
<<19,0,0,95,95,0,0,i,0);SetTimer(h,1,99,0);d=GetDC(h);while(GetMessage(&m,h,0,0
)!=-1){m.message==275?Rectangle(d,0,0,60,60),GetLocalTime((PSYSTEMTIME)s),L(s[6]
),L(s[5]),L(s[4]*5):0;DispatchMessage(&m);}}

これで最後。

411 名前:392 mailto:sage [02/06/30 00:27]
>>409
教えてくれてありがとう。
おかげで助かった。

412 名前:tara mailto:sage [02/06/30 01:42]
>409
お、VC++6.0でも動きましたか。
.NETの方しかインストールしてなかったもので、確認できなかったんです。
ありがとうございました。


413 名前:404 mailto:sage [02/06/30 01:48]
>>408
sinfってman引いてあったから使ったんだけどVCには無いのか。鬱氏。

>>410
7行達成おめでとう♪

414 名前:392 mailto:sage [02/06/30 02:00]
>>413
ありがとうございます
sinの計算と、三項演算子は参考にさせて頂きました。

ところで、次のお題って誰かありませんか?

415 名前:tara mailto:sage [02/06/30 02:15]
>414
遅ればせながら、おめでとうございます。
で、次ですか……。
POP3のクライアントってありましたっけ。



416 名前:392 mailto:sage [02/06/30 04:53]
>>415
POP3クライアントは、
無かったと思いますよ。
SMTPは・・・、参加なさってたんですね(w

とりあえず、Webアプリの経験ないんで、
猫で修行しに逝ってきます
www.kumei.ne.jp/c_lang/sdk3/sdk_230.htm


417 名前:デフォルトの名無しさん mailto:sage [02/06/30 05:26]
pop3は意味無いだろ
メッセージ取ってきてもmimeとかでエンコーディングされてるし

418 名前:デフォルトの名無しさん [02/06/30 10:15]
>>417
デコードすればいいじゃん。
できない?
nkf32.dllを使いなさい。

419 名前:4k demo [02/06/30 12:42]
7行じゃないけど・・・これはすごいの?すごくないの?どぉなの?

4K+ポリゴン+音源+音楽
ftp://ftp.jp.scene.org/pub/scene/parties/2000/dialogos00/in4k/stoerfall_ost_final.zip


420 名前:おまえら! [02/06/30 12:44]
includeしているのは何行あるんだ!
7行じゃなくてコンパイル後のサイズで勝敗つけろや!



421 名前:デフォルトの名無しさん mailto:sage [02/06/30 12:46]
>>420
>includeしているのは何行あるんだ!

その手があったか!w

422 名前:デフォルトの名無しさん [02/06/30 12:54]
>>420
それでいいやろ(w

423 名前:デフォルトの名無しさん mailto:sage [02/06/30 14:07]
>>420
静的リンクする上に、標準のライブラリもサイズに含めるということかな?
でも、ライブラリなんて(サイズも含めて)システム依存だから、単純に比べられないよね

アセンブラだったら、ソースコードの方がサイズが大きいってことか…

424 名前:デフォルトの名無しさん mailto:sage [02/06/30 14:08]
>>420
Perl や JavaScript はどうすればいいんだ?

425 名前:おまえら! [02/06/30 16:57]
PerlはともかくJavaはこんぱいるできるだろ。



426 名前:デフォルトの名無しさん mailto:sage [02/06/30 17:42]
Java(以下略)

427 名前:デフォルトの名無しさん mailto:sage [02/06/30 18:19]
>>425
Perl はコンパイルできますが、JavaScript は……

428 名前:デフォルトの名無しさん mailto:sage [02/06/30 19:16]
>>425
議論をするのは構わないけど、ageないで。

429 名前:デフォルトの名無しさん mailto:sage [02/06/30 20:27]
インタプリタは従来どおりでイイんじゃ?

430 名前:おまえら!part2 [02/06/30 21:20]
>>423
あほか?
ワシがいうてんのは、しらん人間の作ったソースを
組み込んでて、
「すごいねチミ!ハァハァ」
「おたくのやつのほうがスゴイッスよアニキィ!ハァハァ」
やってられん!

431 名前:デフォルトの名無しさん mailto:sage [02/06/30 22:17]
>>430
それって GPL ?

432 名前:デフォルトの名無しさん mailto:sage [02/06/30 22:17]
>>430
オブジェクトならいいのか ?

433 名前:おまえら!part2 [02/06/30 22:28]
俺はすごいぞ。
Cの標準関数なんぞ使ったこと無い。
人のライブラリなんぞ信用できるか!

main以外は全部自作だ。


434 名前:デフォルトの名無しさん mailto:sage [02/06/30 22:54]
mainを他人のプログラムから流用するのはスゴイ

435 名前:デフォルトの名無しさん mailto:sage [02/06/30 22:54]
4kデモはデモスレで語ってくれ。



436 名前:デフォルトの名無しさん mailto:sage [02/06/30 22:56]
>>433
Windowsのプログラムをどう書いてるのか、興味が・・・


437 名前:デフォルトの名無しさん mailto:sage [02/06/30 23:37]
>>433
もちろん Java でもそれを実行なさっている、と

438 名前:デフォルトの名無しさん mailto:sage [02/06/30 23:42]
まぁ、漏れもJavaでCの標準関数は使わないな

439 名前:デフォルトの名無しさん mailto:sage [02/07/01 00:41]
で、この議論は7行スレとどんな関係があるのですか?

440 名前:デフォルトの名無しさん mailto:sage [02/07/01 00:57]
>>438
使っている漏れは、どうすればいいのでしょう

441 名前:デフォルトの名無しさん mailto:age [02/07/03 22:11]
保守

442 名前:デフォルトの名無しさん [02/07/03 23:31]
うーん
7行でJPEG、かなり厳しいなぁ・・・


443 名前:デフォルトの名無しさん mailto:sage [02/07/04 01:11]
>>442
7行で DCT あるいは DFT だけならいけるかもしれないよ。
つーか、普通に書いてもメインの部分はそれくらいか…

444 名前:デフォルトの名無しさん mailto:sage [02/07/04 01:18]
>442
7行無圧縮PNGなら出来るかもな。
でも、CRCの計算がきついかもしれない。

445 名前:デフォルトの名無しさん mailto:sage [02/07/04 09:57]
>>444
とりあえず CRC の部分から書き始めてみる?
そこから、PNG のように大きな枠組みに持っていくのは大変かもしれないけど、
任意の CRC を計算するまでならできそうだし、それはそれで功有りかと。



446 名前:デフォルトの名無しさん mailto:sage [02/07/04 10:49]
>>445
いいですねぇ。最終的に7行の*.cファイル群を幾つかリンクするとJPEGエンコーダ/
デコーダ等々になる、というのは面白いかも。

447 名前:445 [02/07/04 11:52]
CRC32 を計算、入力は標準入力から。g++ 2.95.3
多分あってると思いますが、確認お願いします。

#include <fstream>
unsigned C,t[256],i,j,v,a=256;
main(){
for(i=0;i<a;t[i++]=v)for(v=i,j=0;j<8;j++)v=(v&1)?((v/2)^0xEDB88320):(v/2);
for(C=~0;~(i=cin.get());)C=t[(C%a)^i]^(C/a);
cout<<hex<<~C<<endl;
}


448 名前:445 mailto:sage [02/07/04 12:08]
ごめんなさい。1つ前のバージョンを送ってしまいました。

#include <fstream>
unsigned C,t[256],i,j,a=256;
main(){
for(;i<a;t[i++]=C)for(C=i,j=9;--j;)C=C/2^(C&1?0xEDB88320:0);
for(C=~0;~(i=cin.get());C=t[(C%a)^i]^(C/a));
cout<<hex<<~C<<endl;
}


449 名前:デフォルトの名無しさん [02/07/04 13:34]
参考資料
www01.u-page.so-net.ne.jp/xb3/y-koujin/png_fmt/jp/Tr/png.html

450 名前:445 mailto:sage [02/07/04 14:49]
>>449
そうです。そこから縮めました。書いておけばよかったですね、はい。
ちなみに C=t[C%a^i]^C/a) でもう少し縮められます。

451 名前:1 mailto:age [02/07/04 18:54]

#include <stdio.h>

int main(void)
{
while(1)
printf("\t\b\b");
}

452 名前:デフォルトの名無しさん mailto:sage [02/07/04 22:49]
>>451
XPクラッシャーじゃん

453 名前:デフォルトの名無しさん mailto:sage [02/07/05 09:21]
>>452
確か 2000 でも落ちるような。
9x, Me は大丈夫。

454 名前:デフォルトの名無しさん [02/07/05 21:47]
>>453
NT系アウトの罠>>printf("\t\b\b");

455 名前:デフォルトの名無しさん [02/07/06 10:39]
七行プログラミングのスレにでてるコードをちゃんとインデントを入れた形に整形してくれる
プログラムなんてガイシュツですか?



456 名前:デフォルトの名無しさん mailto:sage [02/07/06 10:41]
>>455
作ればいいかと。{}付けがよっぽど変なバカのコード以外は簡単かと。

457 名前:デフォルトの名無しさん mailto:sage [02/07/06 10:45]
>>455
プリティプリンタでぐぐればいっぱいあるよ。

458 名前:デフォルトの名無しさん mailto:sage [02/07/06 11:11]
gnu-indent

459 名前:デフォルトの名無しさん mailto:dage [02/07/06 11:19]
>>455
visual stadioでもできるよ(たぶん

460 名前:デフォルトの名無しさん mailto:sage [02/07/06 11:22]
できない

461 名前:デフォルトの名無しさん mailto:sage [02/07/06 19:53]
DCTまだですか?

462 名前:デフォルトの名無しさん [02/07/06 22:43]
double c[8][8],is;void di(){int u,v;is=1./sqrt(2.);for(u=0;u<8;u++)for(v=0;x<8;
x++)c[u][x]=cos((2.*x+1.)*u*M_PI/16.);}void dc(int *b){int v,u,x,y,w[64];double
s,cu,cv;for(v=0;v<8;v++){cv=(v==0)?is:1.0;for(u=0;u<8;u++){cu=(u==0)?is:1.;s=0;
for(y=0;y<8;y+)for(x=0;x<8;x++)s+=b[y*8+x]*c[u][x]*c[v][y];w[v*8+u]=(int)(s*cu*
cv/4);}}}

463 名前:デフォルトの名無しさん mailto:sage [02/07/06 23:07]
>>462
x と v を間違えたり、y+ になったり、ちょっとしょぼーん(´・ω・`)
もっと短くできそうだ

次は、PNG と JPG のファイルフォーマット変換部分か…

464 名前:デフォルトの名無しさん mailto:sage [02/07/06 23:23]
モジュールを集めればJPEGだって何だってできるのはあたりまえだから、
もう少し「寄せ集めること」の意義を考えてみないか?

たとえばSUSIEみたいに、メインルーチンとローダー・変換部分をわけて、
それぞれが7行プログラムで作成されているというように。


465 名前:462 mailto:sage [02/07/06 23:25]
>>463 叩き台なので勘弁してCRAY.




466 名前:デフォルトの名無しさん mailto:sage [02/07/06 23:54]
Javaを使えば、JPEG入出力なんて始めからできているという罠

467 名前:デフォルトの名無しさん mailto:sage [02/07/07 00:28]
double c[8][8],is,s;int x,y,u,w[64];di(){is=1/sqrt(2);for(u=0;u<64;u++)c[u/8][u
%8]=cos((2*(u%8)+1)*(u/8)*M_PI/16);}dc(int*b){for(x=0;x<8;x++)for(u=0;u<8;w[x*8
+u]=s*(x?1:is)*(u++?1:is)/4)for(s=0,y=0;y<64;y++)s+=b[y]*c[u][y%8]*c[x][y/8];}







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<349KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef