Next

This is code for finding the numbers of characters in a string using Finite state automata in efficient and professional manner.

// this is wordcount.h

int WordCount(char ar[]);//# of words
int IsSpace(char ch);//=1 if ch=space
int IsLetter(char ch);//=1 if ch=letter else=0

//this wordcount.c

#include<stdio.h>
#include"WordCount.h"
#define NOTINWORD 1
#define INWORD 2
static int IsSpace(char ch);
static int IsLetter(char ch);

static int IsSpace(char ch)
{
if(ch==' '||ch=='\t'||ch=='\n')
{return 1;}
return 0;}

static int IsLetter(char ch)
{if(IsSpace(ch)==1){return 0;}
return 1;}

int WordCount(char ar[])
{
int state; int i; int count;
state=NOTINWORD; count=0;
for(i=0;ar[i]!=0;i++)
{if(state==NOTINWORD && IsSpace(ar[i])==1)
{state=NOTINWORD;}

else if(state==NOTINWORD && IsLetter(ar[i])==1)
{count++; state=INWORD;}
else if(state==INWORD && IsLetter(ar[i])==1)
{count++;state=INWORD;}
else if(state==INWORD && IsSpace(ar[i])==1)
{state=NOTINWORD;}}
return count;}


                                                                                        

Hosted by www.Geocities.ws

1