Untitled
By: a guest | Mar 21st, 2010 | Syntax:
C | Size: 1.70 KB | Hits: 50 | Expires: Never
#include <stdio.h>
typedef enum {wait,kov,barmi,nemkereszt,vonal,nulla,nullax,digit,W,W6,W6pont,pont,q,qq,qqr,qqri,qqriq} allapotok;
int main() {
int sor=0,jo=0,ch,seged=0;
allapotok allapot=barmi;
while((ch=getchar())!=EOF) {
switch(allapot) {
case wait: if(ch=='\n'){sor++;allapot=barmi;seged=0;} break;
//case kov: allapot=barmi;seged=0;break;
case barmi: if (ch!='#'&& ch!='\n') allapot=nemkereszt; else allapot=wait; break;
case nemkereszt: if (ch=='-') allapot=vonal;else if (ch=='0') allapot=nulla;else if(ch>'0'&&ch<='9')allapot=digit;else if(ch=='W')allapot=W;else allapot=wait; break;
case vonal: if (ch=='0') allapot=nulla; else if (ch>='0'&&ch<='9') allapot=digit; else if(ch='W')allapot=W; else allapot=wait; break;
case nulla: if (ch=='x')allapot=nullax; else if (ch>'0'&&ch<='9') allapot=digit;else if(ch=='W')allapot=W; else allapot=wait;break;
case nullax: if (ch>='0'&&ch<='9') allapot=digit;else if(ch=='W')allapot=W; else allapot=wait; break;
case digit: if (ch>='0'&&ch<='9') allapot=digit; else if (ch=='W') allapot=W;else allapot=wait;break;
case W: if (ch=='6') allapot=W6; else allapot=wait;break;
case W6: if (ch=='q'&& seged==1)allapot=q; seged=1; break;
//case W6pont: allapot=pont;break;
//case pont: if (ch=='q') allapot=q; break;
case q: if (ch=='q') allapot=qq; else allapot=W6; break;
case qq: if (ch=='r') allapot=qqr; else allapot=W6; break;
case qqr: if (ch=='i') allapot=qqri; else allapot=W6; break;
case qqri: if (ch=='q') allapot=qqriq; else allapot=W6; break;
case qqriq: if(ch=='a' || ch=='B') {allapot=wait;jo++;} else allapot=W6; break;
}}
printf("%o/%o\n",sor,jo);
return 0;}