七行プログラミング p ..
[2ch|▼Menu]
283:281
02/05/12 02:45
winsock の使い方が良くわからないので、その辺がどうにもならぬ

#include <winsock.h>
typedef char C;puts(C*);sprintf(C*,C*,C*,C*);SOCKET s;C t[99],l,f;k(C*b,C*x){l=
sprintf(t,"%s%s\r\n",b,x);puts(t);send(s,t,l,0);if(!f)Sleep(999),t[recv(s,t,99,
0)]=0,puts(t);}main(int c,C**a){SOCKADDR_IN d;WSADATA w;WSAStartup(514,&w);s=
socket(d.sin_family=2,1,0);d.sin_port=6400;d.sin_addr.s_addr=inet_addr(a[1]);if
(!connect(s,(PSOCKADDR)&d,sizeof(d)))k("HELO ",a[2]),k("MAIL FROM:",a[3]),k("R\
CPT TO:",a[4]),k("DATA",""),k("Subject: ",a[f=5]),f=0,k(a[6],"\r\n.\r\nQUIT");
closesocket(s);}

284:デフォルトの名無しさん
02/05/12 03:35
>>279
腹が立って作ったプログラムなのに、ツッコマレても謙虚な姿。感心アゲ。

285:tara
02/05/12 05:23
超簡易七行SMTPクライアントです。エラー処理ほとんど無翅です。
コンパイルすると警告が出ますが、無視してください。

#include <winsock.h>
main(int c,char **a){SOCKADDR_IN d;WSADATA w;char t[999];SOCKET s;WSAStartup(
514,&w);s=socket(d.sin_family=2,1,0);if(c!=7)return;d.sin_port=6400;d.sin_addr
. s_addr=inet_addr(a[1]);if(!connect(s,(PSOCKADDR)&d,sizeof(d))){int z;send(s,t
,sprintf(t,"HELO %s\r\nMAIL FROM: %s\r\nRCPT TO: %s\r\nDATA\r\nSubject: %s\r\n\
\r\n%s\r\n.\r\nQUIT\r\n",a[2],a[3],a[4],a[5],a[6]),0);while(z=recv(s,t,99,0))
{t[z]=0;printf("%s",t);}}closesocket(s);}

実行時には、以下の順序で引数を指定する必要があります。
・SMTPサーバーのIP(ドット区切りの数字で指定)
・発信元のホスト名
・発信者のメールアドレス
・受信者のメールアドレス
・Subject(題名)
・メール本文

ex)
program 127.0.0.1 7gyou.com sender@7line.com rcpt@7line.com subject data

多分これで動くはず、です。
なお、引数の区切り文字がスペースであるため、メール本文その他に
スペースを入れることができません。


286:tara
02/05/12 05:35
しまった、訂正。
スペースは入れられます。
program 127.0.0.1 7gyou.com sender@7line.com rcpt@7line.com subject "This is test."
と、スペースを含む内容を「"」で囲んでやればOKです。


287:273
02/05/12 14:53
>>281 とりあえず送信できることを目指したんで、無駄は勘弁
>>282 それじゃ面白くないじゃん
>>284 ありがとう
>>285 7行達成おめでとう

次はTelnetかFTPクライアント・・・
ネタさえあればこのスレもPatt 1.並なんだけどな


288:261
02/05/12 15:00
ネタ提供だけでスマソ。感動しました。
採用してくれてありがとうございましたー!

289:XXXXXXX
02/05/12 15:02
1> <html>
2> <head>
3> <title>7行プログラム</title>
4> </head>
5> <body bgcolor="black">ここに本文を書きます
6> </body>
7> </html>


290:デフォルトの名無しさん
02/05/12 18:01
CじゃFTPは不可能だーね
コネクションが2つ必要な時点でヤヴァイ

291:デフォルトの名無しさん
02/05/12 18:49
>>290
FTP、Javaなら行けるかな

292:デフォルトの名無しさん
02/05/12 22:54
>>285
stdio.h をインクルードしないと printf,sprintf 使えなくないですか?

293:デフォルトの名無しさん
02/05/12 22:56
age

294:デフォルトの名無しさん
02/05/12 22:58
いい流れになってきたね

295:デフォルトの名無しさん
02/05/12 23:30
一番、画面内密度を上げられる言語ってなんでしょう?LISP系かな?

296:デフォルトの名無しさん
02/05/12 23:32
>>295
BASICじゃないの?大文字だし。

297:デフォルトの名無しさん
02/05/12 23:34
perlでしょ
lispはカッコがあるから

298:デフォルトの名無しさん
02/05/12 23:45
Ruby!!!

299:デフォルトの名無しさん
02/05/12 23:48
>>298
Ruby厨ってこうやって叫ぶだけで特に害がないから良いよね。
結構独自路線だからアイデンティティはしっかりしてるのか。
それに比べて多方面にコンプレックスのあるVB厨とかは痛いな・・・。

300:デフォルトの名無しさん
02/05/13 00:00
300!!!

301:VB厨
02/05/13 00:28
>>299
スマン。

302:デフォルトの名無しさん
02/05/13 00:37
>>301
謝ってくれる人は心優しい人だね。
バカとは自分がバカと言うことに気が付いていないからバカなんだ。
>>301さんは賢人のようです。

303:デフォルトの名無しさん
02/05/13 01:48
>295
MSXべーしっくがいいと思う。スペースすら省略可能だし。
PRINTは ? で書けるし。(LIST取ったら伸張されちゃうけど)

304:デフォルトの名無しさん
02/05/13 13:21
>>303
N88でいいじゃん。?も同様だし。

305:前775
02/05/13 16:34
あー、なんか、、スレ間違えたかと思った。
昔は文章よりプログラムの方が多いくらいのスレだったのに・・。

306:前スレ853
02/05/13 18:23
Perl は全ての変数にプレフィクスが付く分、極まってくると
画面密度が上がる。

ex.
($n,$p,@e)=split/,/,<>;$_=<>;$j=(@m=map{split//}$_,<>)-($k=($c=length)-2)-2;@g=
('.')x@e;$t=0;sub w{(*z,$g)=@_;$m[$i=$z+($z%$c?-1:$k,$z>=$j?-$j:$c,$z<$k?$j:-$c
,$z%$c==$k?-$k:1)[--$g]]eq'#'||$l&&grep$i==$_,@e or$z=$i}sub u{@m[@e,$p]=@_}sub
r{1+int rand 4}while($m[$p]ne'*'or$t+=$n){u(('m')x(@g=@m[@e]),($d=grep$p==$_,@e
)?'D':'C');$r=grep/[*.]/,@m,@g;print@m,"R:$r T:$t >";$r&&($t||!$d)?u@g,' ':exit
;$l=0;w*p,<>%5||next;for(@e){if(($w=$e=pop@e)-$p){w*w,$w%$c-$p%$c?int$w/$c-$p/
$c?r:$w<$p?4:1:$w<$p?2:3;w*w,r while++$l%9&&$w==$e}@e=($w,@e)}$t--if$t}

307:デフォルトの名無しさん
02/05/13 18:53
>>306
思わずishにかけたくなるねw


308:デフォルトの名無しさん
02/05/13 20:19
>>307
ホントだ。なんかのエンコードかけてあるみたい。
このままメモ帳に書いて拡張子を.comにしたら動きそうだ

309:デフォルトの名無しさん
02/05/14 00:56
2行目文頭 ('.')
3行目 [--$g]
4行目 ('m')

Perlを知らない俺から見ると、この辺はもはや顔文字だな。

310:デフォルトの名無しさん
02/05/14 04:05
ネット対戦オセロ作ってください。
よろしく。

311:tara
02/05/14 04:23
超簡易七行SNTPクライアントです。(SMTPではない)
エラーチェック皆無です。引数の数すらチェックしてません。
コンパイルすると警告が出ますが、無視してやってください。

#include <winsock.h>
#include <time.h>
int N[12];int z;u_int n;struct tm*T;SOCKADDR_IN d={2,31488},u={2,4,0};main(int
c,char **a){WSADATA w;SOCKET s;SOCKADDR*q=(SOCKADDR*)&u;WSAStartup(514,&w);s=
socket(2,2,0);bind(s,q,16);d.sin_addr.s_addr=inet_addr(a[1]);*N=11;z=48;sendto
(s,&N,z,0,(PSOCKADDR)&d,16);recvfrom(s,&N,z,0,(PSOCKADDR)&d,&z);n=ntohl(N[10])
-2208988800;printf("%s",ctime(&n));closesocket(s);}

前回に引き続きstdio.hをincludeできませんでした……残念。
実行時には、SNTPサーバーのIP(ドット区切りの数字で指定)を引数として
指定する必要があります。

ex)
program 127.0.0.1

多分これで動くはず、です。


312:tara
02/05/14 04:36
……言ってるそばから縮みました。

#include <winsock.h>
#include <stdio.h>
#include <time.h>
int N[12];int z;u_int n;struct tm*T;SOCKADDR_IN d={2,31488},u={2,4};main(int c,
char **a){WSADATA w;SOCKET s;SOCKADDR*q=&u;WSAStartup(514,&w);s=socket(2,2,0);
bind(s,q,16);d.sin_addr.s_addr=inet_addr(a[1]);*N=11;z=48;sendto(s,&N,z,0,&d,
16);recvfrom(s,&N,z,0,&d,&z);n=ntohl(N[10])-2208988800;printf("%s",ctime(&n));}

VC++ .NETで動作検証しました。
これでも動くのか……。


313:前スレ853
02/05/15 01:23
久々に読み返したらまだ縮むじゃんよ…。ついでに画面密度も
上げる方向で修正。
URLリンク(boobar.hoops.ne.jp)

($n,$p,@e)=<>=~/\d+/g;$j=(@m=map/./gs,($_=<>),<>)-($k=($c=length)-2)-2;$t=0;sub
u{@m[@e,$p]=@_}@g=(".")x@e;sub w{(*z,$g)=@_;$m[$i=$z+($z%$c?-1:$k,$z>=$j?-$j:$c
,$z<$k?$j:-$c,$z%$c==$k?-$k:1)[--$g]]eq"#"||$l&&grep$i==$_,@e or$z=$i}while($m[
$p]ne"*"or$t+=$n){u(("m")x(@g=@m[@e]),($d=grep$p==$_,@e)?"D":"C");$r=grep/[*.]/
,@m,@g;print@m,"R:$r T:$t >";$r&&($t||!$d)?u@g," ":exit;$l=0;w*p,<>%5||next;sub
r{1+int rand 4}for(@e){if(($w=$e=pop@e)-$p){w*w,$w%$c-$p%$c?int$w/$c-$p/$c?r:$w
<$p?4:1:$w<$p?2:3;w*w,r while++$l%9&&$w==$e}@e=($w,@e)}$t&&$t--}

延々バグ取りしてるから大分枯れてる筈。

314:前スレ843
02/05/16 03:06
>>313
そろそろしつこいと思いますた。

315:デフォルトの名無しさん
02/05/16 11:58
悲しいことを言うなぁ

316:デフォルトの名無しさん
02/05/16 12:16
またーり行こうよ

317:前スレ853
02/05/16 18:54
いや、自分でもしつこいと思った。(w

sub h{sprintf"\\x%X",($i+=$_)}$c=join q/\xA1-\xFE]/,(q/\G((?:[\x00-\x7F]|[\x8E/
,"[","|\\x8F[","[",")*?)");$i=160;for((2)x5,1,(2)x11,3,(2)x3,(1)x5,(3)x5,(1)x4,
(2)x3,(1)x5,2,3,1,-48,32,2,2){$s.=h;$S{$j}=chr$i;$j=$i}$i=170;for((2)x12,3,2,2,
7,(3)x4){$d.=h;$D{$i}=chr($i-1)."\xA1\xAB"}$i=206;for((3)x5){$d.=h;$D{$i}=chr(
$i-2)."\xA1\xAC"}sub u{unpack"C",$3}eval join q/\xA1/,(q/s!$c([\xA4\xA5])([/.$d
.q|])!"$1$2".$D{&u}!eg;s/$c|,'\\xAC/$1','\\xDF/g;s/$c','\\xAB/$1','\\xAC/g;
s/$c','\\xA9/$1',q{\xAB/g;s/$c[\xA4\xA5]\xE7/$1},q{\xA9/g;s!$c([\xA4\xA5])([}.
$s.q|])!"$1$2".$S{&u}!eg;s/$c|,q{\xBC/$1\xA4\xA2/g;print})while<>

日本語→ひんたぼ語フィルタ。
Usage: perl hintabo text.euc > text.hintabo

変換テーブルの生成部分がもっと縮めば七行いけるかも。
七行いけてもネタ的にイマイチかも。(w

318:デフォルトの名無しさん
02/05/16 20:06
折れ的にはしつこくない。
つーか勉強になるのでどんどん短くしてぽ。

できたらどこかにコメント付でうぷしてほしいなぁ。

319:デフォルトの名無しさん
02/05/16 22:01
誰かが7行スレ専用ソース公開ページを作ってくれるといいのになぁ。
そうすると、ここのスレでは「また短くなったので見てね」と書いておいて、
公開ページの方で、短いソース(とコメントつきソース)を見て貰う事が出来るのに。

でもそうすると、新しい人が入りづらいか。某メガデモスレみたいな感じで。

320:デフォルトの名無しさん
02/05/17 12:00
それなりに動くソフトウェアだし、著作権的に面倒だってんで皆気が進まないんじゃ。

321:前スレ853
02/05/17 19:00
Wiki みたく、各作者が好きな時に更新できるフレームワークを
準備しないと不便だし、そこまでする気になる人がいないだけかと。

自分のだけなら適当なアカ取って普通にメンテすりゃ済むから
楽だけど。つか俺はそうしてる。 URLリンク(boobar.hoops.ne.jp)

sub u{"$1$2".$D{unpack"C",$3}}sub h{*t=pop;$t.=sprintf"\\x%X",$i+=$_;chr($i-pop
).pop}$c=join q/\xA1-\xFE]/,qw!\G((?:[\x00-\x7F]|[\x8E [ |\\x8F[ [ )*?)!;$z=$c.
q/([\xA4\xA5])/;$i=160;map{$D{$j}=h*s;$j=$i}(2)x5,1,(2)x11,3,(2)x3,(1)x5,(3)x5,
(1)x4,(2)x3,(1)x5,2,3,1,-48,32,2,2;$i=170;$D{$i}=h"\xA1\xAB",1,*d for(2)x12,3,2
,2,7,(3)x4;$i=206;$D{$i}=h"\xA1\xAC",2,*d for(3)x5;eval join'\\xA1','s!$z(['.$d
.'])!u!eg;s/$c',qw!\xAC/$1 \xDF/g;s/$c \xAB/$1 \xAC/g;s/$c \xA9/$1!,q{\xAB/g;
s/$z\xE7/$1},q{\xA9/g;s!$z([}.$s.'])!u!eg;s/$c',q{\xBC/$1\xA4\xA2/g;print}for<>

あっさり七行達成してもた。でも数字やアルファベットを変換してない
から、フィルタとしては不完全。萎え。

322:デフォルトの名無しさん
02/05/17 19:14
いちいち「更新」とかこのスレに描くくらいなら
最初からここにうぷしたほうがいいと思うけど?

どうせ7行程度なんだしさっさとスクロールすれば いいんじゃないの?

323:デフォルトの名無しさん
02/05/17 23:44
ちょっとだけしか縮めていないときとか、
説明のために長いプログラムをうぷするときとか、
そういったスレは欲しいかもね。

こっちに載せるときは、ネタ提供か、完成か、バグ取りか、大幅改変か・・・

324:前スレ843
02/05/18 08:57
>>前スレ853
ネタ提供。
??行→7行へのunindent。

325:デフォルトの名無しさん
02/05/18 10:15
ひんたぼ語って何だか知らないけどすげー
ここは神が集まるスレだな

326:名無しさん@Vim%Chalice
02/05/18 11:26
>>325 勉強してください。
    URLリンク(www4.airnet.ne.jp)

327:前スレ853
02/05/19 18:37
>>324
とりあえずたたき台を作ってみたよ。まだまだ機能的に不完全だけど。
URLリンク(boobar.hoops.ne.jp)

$_=join" ",grep{s/^\s*(?:#.*)?|\s+$//g;s/\s+/ /g;length}<>;%k=qw|( ) < > [ ] {
}|;1 while s=\G(.*?)((?:(?:(?<![\$\%\&\*\@])(?:(?:m|q[qrwx]?)(?:([(<[{]).*?${k{
$3}}|([^\w\s(<[{]).*?\4)|(?:s|tr|y)(?:([(<[{]).*?$k{$5}\s*\5.*?${k{$5}}|(
[^\w\s(<[{]).*?\6.*?\6))|(?<![\w])/(?:\\/|[^/])*/)[a-z]*)|"(?:\\"|[^"])*"|'(?:
\\'|[^'])*')=push@c,$1,$2;''=egx;$q=1 if$c[0]=~m!^(?:["'/]|(?:[ms]|q[qrwx]?|tr)
[^\w\s])!x;($_,@c)=map{++$q%2?split:$_}grep/\S+/,@c,$_;sub j{$_.=$_[0].shift@c}
sub l(){length$_.$c[0]}sub p{print"$_\n";$_=shift@c}sub w(){/\w$/&&$c[0]=~/^\w/
}79<=l?79<l?p:w?p:j&&p:w?j" ":j while@c;p;

さぁ、縮めようか。(w

328:デフォルトの名無しさん
02/05/19 21:45
保守保守

329:前スレ843
02/05/20 08:38
>>327
僕には無理です。
がんばって縮めてください。
応援してます(w

330:775
02/05/20 19:38
#include <stdio.h>/*7行になるかチェッカーーー*/
main(int c,char**v){FILE *f = fopen(v[1],"r");int i=0;if(c<1)return;for(;fgetc
(f)!=-1;i++);if(i<80*7)printf("イイ!: %d文字(%d行?)\n",i,i/80);else printf(
"糸冬 了 :%d文字(%d行?)\n",i,i/80);}

正直すまん・・・。
AVIファイル生成は構造わからんで脱落。

331:ネタ出
02/05/20 20:21
格闘ゲーム(パンチとかが出てHPが減りさえすればイイ) きぼんぬ!

モナーのダンレボ きぼんぬ!

15パズル きぼんぬ!

もぐらたたき きぼんぬ!

Hello world きぼんぬ!

えっと・・・えっと・・・・(ワラ

332:デフォルトの名無しさん
02/05/21 00:01
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
main(int a, char **v){struct sockaddr_in h;int s;char c[1024];
bzero(&h,sizeof(h));h.sin_family=AF_INET;h.sin_port=htons(21);inet_aton(v[1],&h.sin_addr);
s=socket(AF_INET,SOCK_STREAM,0);connect(s,(struct sockaddr *)&h,sizeof(h));
read(s,c,1024);write(s,v[2],strlen(v[2]));write(s,"\r\n",2);read(s,c,1024);
write(s,v[3],strlen(v[3]));write(s,"\r\n",2);read(s,c,1024);while(1){
printf("$: ");fgets(c,1024,stdin);write(s,c,strlen(c));write(s,"\r\n",2);
read(s,c,1024);printf("%s", c);}close(s);}

7行じゃないけど。ftpもどき
./a.out 127.0.0.1 "USER user" "PASS password"
$:の後にコマンドです。

333:デフォルトの名無しさん
02/05/21 01:50
>332
うーん……、手元にPC-UNIX系の環境が無いから、検証できないまま口出して
申し訳ないけれど、これだとファイルのやり取りはできないんじゃ?
FTPサーバー接続してコマンド打つのが限界のような……。

334:332
02/05/21 21:23
>333
telnetでport21につないでるようなカンジだから、
たいした事は出来ない&バッファもクリアしてないからゴミが残ると。。。
全然使えないね(藁

335:前スレ843
02/05/22 09:28
>>331
Perlには無理だな。
やろうと思えばできるけど。(漏れには無理)

336:デフォルトの名無しさん
02/05/22 09:40
意味もなく上げまくるなよ、自己主張激しすぎて見苦しい

337:デフォルトの名無しさん
02/05/22 13:55
>>319
縮む過程で加えられたテクも見たい
CVSサーバ付けてくれれば文句無いけど

338:デフォルトの名無しさん
02/05/22 14:18
sourceforge.jpで7行プロジェクトとか・・・ダメかなぁ。


339:デフォルトの名無しさん
02/05/22 19:48
7-liner

340:前スレ843
02/05/24 10:46
>>336
スマソ。

341:デフォルトの名無しさん
02/05/24 18:55
前スレの猛者が戻ってこない限り、このスレが良スレになることはないな

342:デフォルトの名無しさん
02/05/24 23:31
トリッキーの1氏や前スレ60氏の降臨きぼーーーんぬ。
*nix厨氏とか、S氏とかも来てほしー。

343:デフォルトの名無しさん
02/05/25 13:23
Sタン、JavaScriptでぷよぷよ作ってー。
7行、7行、7行、7行、7行、ハァハァ
7行、7行、7行、7行、7行、ゼェゼェ。

みんな来てよー(w

344:猛者募集
02/05/26 11:07
agge

345:デフォルトの名無しさん
02/05/29 00:46
>>343
無理っぽいな。消滅判定と落下だけでかなり食うと思う。
連鎖中は同時に複数色消えることもあるし・・・

なんつって無理無理いっててもしょうがないんで
叩き台を作ってみよっかな

346:デフォルトの名無しさん
02/05/29 00:52
>>345
S氏ですか?

347:デフォルトの名無しさん
02/05/29 01:48
>346
いや、通りすがりのものです。
昔X68で作ったもんで

348:デフォルトの名無しさん
02/06/01 04:15
mange

349:デフォルトの名無しさん
02/06/01 12:05
たたき台が重要だ

350:デフォルトの名無しさん
02/06/07 15:35
URLリンク(wildmag.de)
ねたをくれなんていってる時点で間違ってたんだ…

351:デフォルトの名無しさん
02/06/07 18:11
>>350
感動した
ソースを見て更に感動した

352:デフォルトの名無しさん
02/06/07 18:36
イカス

353:デフォルトの名無しさん
02/06/07 21:08
>>350
!!!
マジかよおい!
感動した…マジ感動した!

354:デフォルトの名無しさん
02/06/07 22:00
>>350
スゲー!!
なるほどソース見て感動!!

355:デフォルトの名無しさん
02/06/07 22:52
>>350
これは凄い!

356:デフォルトの名無しさん
02/06/07 23:01
>>350
な、なぬ・・・・

357:デフォルトの名無しさん
02/06/08 00:28
>>350 見た目は驚かなかったけど、ソースの簡潔さに驚いた。

358:デフォルトの名無しさん
02/06/08 01:15
俺はできないけど、がんばってください
ってのがうざい

359:デフォルトの名無しさん
02/06/08 01:18
サーバ側七行、クライアント側七行で、ネット対戦できるオセロつくってください。

360:デフォルトの名無しさん
02/06/08 01:44
サーバ:

#include "osero-server.h"
#include <stdlib.h>
int main()
{
do_osero_server();
return EXIT_SUCSESS;
}

クライアント:
#include "osero-cliant.h"
#include <stdlib.h>
int main()
{
do_osero_cliant();
return EXIT_SUCSESS;
}



361:デフォルトの名無しさん
02/06/08 13:31
>>360
言ってはならないことかもしれないけど
あなたはここにくる前にしなければならないことがあるような気がします

362:デフォルトの名無しさん
02/06/09 18:23
>>350
スクロールバーが動いたので部落らかと思った。
スゲー。感動すた。

363:デフォルトの名無しさん
02/06/09 20:48
<script>s=Math.sin;z=0;function a(){for(i=0;i<50;){z?0:document.write('<b id=x'
+i+' style=position:absolute><big>O</big><sub>'+i+'</sub></b>');
w=i*s(z);o=eval('x'+i).style;o.top=s(w)*i*4+230;o.left=s(w+2)*i++*4+230}
z+=.015;setTimeout('a()',50)}a()</script>

>>350 名前: デフォルトの名無しさん 投稿日:02/06/07 (金) 15:35
> URLリンク(wildmag.de)
> ねたをくれなんていってる時点で間違ってたんだ…
より。(改行をマジで適当に追加)。

すげーな。

364:デフォルトの名無しさん
02/06/11 06:12
前ここにprintfってあったっけ?

365:デフォルトの名無しさん
02/06/11 18:01
>>364
sprintfなら
スレリンク(tech板:428番)


366:デフォルトの名無しさん
02/06/13 00:20
あと一行が縮まらない8行迷路。HSP。
一番右下がゴール。

dim g,4,2:g=-1,0,1,0,0,-1,0,1:dim m,49,49:randomize:repeat 49:t=cnt:repeat 49
s=cnt:if ((s\2)+(t\2))=2{m.s.t=1:rnd r,4:a=s+g.r.0:b=t+g.r.1:m.a.b=1}loop:loop
gsel 0,-1:screen 2,10,10,8:repeat:repeat 10:b=cnt:repeat 10:a=cnt:d=a+v:e=b+w
palcolor 1-m.d.e*7:pset a,b:loop:loop:d=(k&4!0)-(k&1!0)+x:palcolor 39:stick k,15
e=(k&8!0)-(k&2!0)+y:r=(d<0)|(d>48):d=1-r*d+(r*x):r=(e<0)|(e>48):e=1-r*e+(r*y)
r=m.d.e:d=1-r*d+(r*x):v=1-(d>43)*(1-(d<5)*(d-4))+((d>43)*39):x=d:r=m.d.e:c++
e=1-r*e+(r*y):w=1-(e>43)*(1-(e<5)*(e-4))+((e>43)*39):y=e:if (x=48)&(y=48):break
pset x-v,y-w:redraw:title ""+c:wait 5:loop:dialog "cleared:"+c

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

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

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

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

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

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

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

373:moge
02/06/15 00:12
もっと繁栄を願ってage

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

375:デフォルトの名無しさん
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:デフォルトの名無しさん
02/06/15 17:21
ネットワークゲーム用の汎用サーバとかは7行じゃ大変?
Javaでキボンヌ。

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

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

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

380:デフォルトの名無しさん
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:デフォルトの名無しさん
02/06/22 00:46
お題:BlockSorting

386:デフォルトの名無しさん
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:デフォルトの名無しさん
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
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
02/06/22 02:50
ぅぁー、>388バグりまくりだ。
出なおしてきます。


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

391:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
02/06/28 15:00

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

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

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

396:392
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
02/06/28 22:56
書き忘れたけど、>>397からは.cppじゃなくて.cでよろしく

399:tara
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:デフォルトの名無しさん
02/06/29 13:54
>>395
いや、「打つ」とかかいてあったんで。

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

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


402:392
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
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:せめて
02/06/29 23:37
>>404
なにをするプログラムなのか、書け

406:392
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
02/06/29 23:53
>405
>>402のを縮めてみますた。

408:392
02/06/29 23:53
>>404
ごめん、見てなかった

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

と言われたよ。

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

410:392
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
02/06/30 00:27
>>409
教えてくれてありがとう。
おかげで助かった。

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


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

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

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

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

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

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

とりあえず、Webアプリの経験ないんで、
猫で修行しに逝ってきます
URLリンク(www.kumei.ne.jp)


417:デフォルトの名無しさん
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+ポリゴン+音源+音楽
fURLリンク(ftp.jp.scene.org)


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



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

その手があったか!w

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

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

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

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

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

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

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

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

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

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

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

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

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

main以外は全部自作だ。


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

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

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


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

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

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

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

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

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


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

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

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

446:デフォルトの名無しさん
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
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
参考資料
URLリンク(www01.u-page.so-net.ne.jp)

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

451:1
02/07/04 18:54

#include <stdio.h>

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

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

453:デフォルトの名無しさん
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:デフォルトの名無しさん
02/07/06 10:41
>>455
作ればいいかと。{}付けがよっぽど変なバカのコード以外は簡単かと。

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

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

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

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

461:デフォルトの名無しさん
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:デフォルトの名無しさん
02/07/06 23:07
>>462
x と v を間違えたり、y+ になったり、ちょっとしょぼーん(´・ω・`)
もっと短くできそうだ

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

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

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


465:462
02/07/06 23:25
>>463 叩き台なので勘弁してCRAY.


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

467:デフォルトの名無しさん
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];}


468:463
02/07/07 01:11
先を越された…
double c[8][8],s;int x,y,w[64];di(){for(x=64;x--;c[y=x/8][x%8]=cos((2*(x%8)+1)*
y*M_PI/16));}dc(int*b){for(x=64;x--;w[x]=s*(x/8?1:1/sqrt(2))*(x%8?1:1/sqrt(2))/
4)for(s=0,y=64;y--;)s+=b[y]*c[x%8][y%8]*c[x/8][y/8];}


469:デフォルトの名無しさん
02/07/07 12:27
>>464
過去ログ読んでね。そう言うコンセプトでやってる。

470:464
02/07/07 18:19
>>469
ごめん。読んでいるけどわからんかった・・・ウツ

471:デフォルトの名無しさん
02/07/08 02:27
(⌒Д⌒)あらやだわ奥さんハハハ

472:みぃとぼぉる
02/07/08 15:09
参戦?させていただきます。んで、Pascalにて迷路...

Program Q;const B=$B800;var S,C,D,F:Word;A:Array[1..999]of Integer;begin For C
:=81to 3840do begin MemW[B:C*2]:=4016;If(C mod 80)=77 then C:=C+3;end;S:=1;A[S]
:=324;while(S>0)do begin C:=A[S];Mem[B:C]:=0;F:=0;while(F<15)do begin D:=(
Port[65]+S)mod 4;F:=F OR(1SHL D);D:=(2-(D div 2)*4)*(1+(D mod 2)*79);If Mem[B:C
+D*2]=176then begin Mem[B:C+D]:=0;A[S+1]:=C+D*2;S:=S+2;Break;end;end;S:=S-1;end
;Mem[B:164]:=0;Mem[B:7672]:=0;Readln;End.

80x50の英語モードDOS窓で CLS してから実行してちょ。
Borland Pascal 7.0 / WinXP で動作確認済み。難しい事は一切やっていないような。
ランタイムエラーが怖いのでCRTは未使用です。

尚、MS-DOSのメモリ依存。

473:みぃとぼぉる
02/07/08 16:25
ちょっぴり修正。

Program Q;Uses crt;const B=$B800;var S,C,D,F:Word;A:Array[1..999]of Word;begin
TextMode(259);Randomize;For C:=81to 3840do begin MemW[B:C*2]:=4059;If(C mod 80)
=77 then C:=C+3;end;S:=1;A[S]:=324;while(S>0)do begin C:=A[S];Mem[B:C]:=0;F:=0;
while(F<15)do begin D:=Random(4);F:=F OR(1SHL D);D:=(2-(D div 2)*4)*(1+(D mod 2
)*79);If Mem[B:C+D*2]=219then begin Mem[B:C+D]:=0;A[S+1]:=C+D*2;S:=S+2;Break;
end;end;S:=S-1;end;Mem[B:164]:=0;Mem[B:7672]:=0;Readln;End.


- ランダムナンバージェネレーターにポートを使わずに正規の命令を使用。
- 毎回生成するパターンも変更される。
- Borland / Turbo Pascal で実行時にエラーが出る場合は CRT と TextMode を削除
するか、バグ修正板のCRT RTLを使用すること。

でわ。

474:775
02/07/09 23:02
激簡単なもんから・・・・。
元画像をppmに限定すれば読みこみはかなり削減できないかな。>コンバータ

#include <stdio.h>/* usage:bmp2ppm src.bmp dest.ppm*/
main(int c, char*v[]){int i,x,y;FILE *f,*g;if(c<3)return;if((f=fopen(v[1],
"rb"))==NULL||(g=fopen(v[2],"w"))==NULL)return;fseek(f,18,SEEK_SET);fread(&x,4
,1,f);fread(&y,4,1,f);fprintf(g,"P6\n%d %d\n255\n",x,y);fseek(f,54,SEEK_SET);
for(i=0;i<x*y*3;i++)fputc(fgetc(f),g);fclose(f);fclose(g);}

475:392
02/07/10 10:32
遅くなったけど、popクライアント
rcvmail サーバ名 ユーザ名 パスワード メール番号

#include <WinSock.h>
char z[512];int s,r,S;M(){z[r=recv(s,z,512,0)]=0;printf("%s",z);}T(x,y){r=spri\
ntf(z,x,y);strcat(z,"\r\n");send(s,z,r+2,0);M();}main(int c,char** v){SOCKADDR\
_IN a={2,28160};WSAStartup(257,z);a.sin_addr=*((PIN_ADDR)*(gethostbyname(v[1]))
->h_addr_list);connect(s=socket(2,1,0),&a,16);M();T("USER %s",v[2]);T("PASS %s"
,v[3]);if(c>4&&(c=atoi(v[4]))>0){T("LIST %d",c);sscanf(z,"%s%d%d",z+r,&r,&S);T(
"RETR %d",c);while((S-=r)>=0)M();}T("QUIT",0);closesocket(s);WSACleanup();}



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5380日前に更新/349 KB
担当:undef