#99 Article 1024 Posted at 1995/12/14 00:29:17 by R.Cat (MAP5121) [SAHOU.2]

Subject: Re: プログラミング作法・お題2 /995

----- count.c -----
#include <stdio.h>
#include <stdlib.h>

long count(char *str,FILE *fp)
{
    int in;
    char *cp1;
    long co;
    
    for(co = 0,cp1 = str;;) {
        if((in = fgetc(fp)) == EOF)
            break;
        if(*cp1 == in) {
            if(*++cp1 == '\0') {
                co++;
                cp1 = str;
            }
        } else {
            cp1 = str;
            if(*cp1 == in)      /* 取ってつけたような対策 (笑) */
                cp1++;
        }
    }
    return co;
}

int main(void)
{
    FILE *fp;
    
    fp = fopen("LOG","r");
    if(fp == NULL) {
        fprintf(stderr," ファイルが開けません。\n");
        exit(1);
    }
    printf("count : %ld\n",count("MAPLE",fp));
    return 0;
}
----- end -----

 見ての通りの C です。私は速度とか考えないで作る傾向にあります (^_^;)。
その場の思いつきででっち上げたアルゴリズムを何の工夫もなく記述してい
く、、、低レベルだと自分でも思いますが。とりあえずこれも、見て面白いテク
ニックは何も使っていません。
 こーいうのは Perl で書くと凶悪に手っとり早いという事が最近わかってきま
した。(現在特訓中)

R.Cat(HT)