Advertisement
WhiteGazelle

tc

Mar 27th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.85 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int delta(int qi, char s);
  6.  
  7. int main()
  8. {
  9.     int i;
  10.     int q_inicial=0, q_final=2;
  11.     int q;
  12.     char pal[100];
  13.     FILE *fp;
  14.     fp = fopen("texto1.txt", "r");
  15.     if(!fp)
  16.         exit(1);
  17.     printf("Cadeias corretas:\n");
  18.     while(!feof(fp))
  19.     {
  20.         fscanf(fp, "%s", pal);
  21.         q=q_inicial;
  22.         for(i=0; i<strlen(pal); i++)
  23.             q=delta(q,pal[i]);
  24.         if(q==q_final)
  25.             printf("%s\n", pal);
  26.     }
  27.     fclose(fp);
  28.     return 0;
  29. }
  30.  
  31. int delta(int qi, char s)
  32. {
  33.     int m[3][2]={ {1,0}, {2,0}, {2,0} };
  34.     switch(s)
  35.     {
  36.         case '0':
  37.         {
  38.             return m[qi][0];
  39.             break;
  40.         }
  41.         case '1':
  42.         {
  43.             return m[qi][1];
  44.             break;
  45.         }
  46.         default: return(-1);
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement