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


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

C言語なら俺に聞け(入門篇) Part 20



381 名前:これ参考に [2007/10/26(金) 17:37:47 ]
#include <stdio.h>
#include <time.h>
#include <string.h>
int N;
void serch(char* x,char* str,int* adr){
char t[256];int n,M,k,su=0;
for(M=0;;M++)if(str[M]=='\0')break;
for(n=0;n<256;n++)t[n]=M;
for(n=1;n<=M;n++){k=(unsigned char)str[M-n];if(t[k]==M)t[k]=n;}
n=0;while(1){
for(k=0;k<M;k++)if(str[k]!=x[n+k]) break;
if(k==M){adr[su]=n;su++;n+=M;}
else {k=(unsigned char)x[n+M];n+=t[k];}
if(n+M>=N){adr[su]=-1;return;}}}

main(){
N=18000000;char *x=new char[N];N=0;
char buf[120],k,n;
FILE *fp=fopen("2ch.txt","rb");
while(k=fread( buf,1,100,fp)){
for(n=0;n<k;n++)x[N+n]=buf[n];N+=k;}
fclose(fp);
printf("データロード完了!\n測定中です・・・\n");
int adr[30000];
char str[]="名無し";
serch(x,str,adr);
}






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

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

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