Guest User

Untitled

a guest
Jul 23rd, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.52 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. char* isS(char* ptr);
  5. char* isK(char* ptr);
  6. char* isL(char* ptr);
  7. char* isX(char* ptr);
  8.  
  9. char* isS(char *ptr)
  10. {
  11.     bool flag = false;
  12.     do
  13.     {
  14.         if ((ptr = isK(ptr)) != NULL)
  15.         {
  16.             ++ptr;
  17.             if (*ptr == ',')
  18.             {
  19.                 ++ptr;
  20.                 flag = true;
  21.             }
  22.             else
  23.                 flag = false;
  24.         }
  25.         else
  26.             return NULL;
  27.     }
  28.     while (flag);
  29.     if (*ptr != '\0')
  30.         return NULL;
  31.     return ptr;
  32. }
  33.  
  34. char* isK(char* ptr)
  35. {
  36.     if (*ptr == '(')
  37.     {
  38.         ++ptr;
  39.         if ((ptr = isL(ptr)) != NULL)
  40.         {
  41.             ++ptr;
  42.             if (*ptr == ')')
  43.                 return ptr;
  44.         }
  45.     }
  46.     return NULL;
  47. }
  48.  
  49. char* isL(char* ptr)
  50. {
  51.     if ((ptr = isX(ptr)) != NULL)
  52.     {
  53.         ++ptr;
  54.         if (*ptr == ',')
  55.         {
  56.             ++ptr;
  57.             if ((ptr = isX(ptr)) != NULL)
  58.             {
  59.                 ++ptr;
  60.                 if (*ptr == ',')
  61.                 {
  62.                     ++ptr;
  63.                     if ((ptr = isX(ptr)) != NULL)
  64.                         return ptr;
  65.                 }
  66.             }
  67.         }
  68.     }
  69.     return NULL;
  70. }
  71.  
  72. char* isX(char* ptr)
  73. {
  74.     if (*ptr >= '0' && *ptr <= '9')
  75.         return ptr;
  76.     return NULL;
  77. }
  78.  
  79. int main()
  80. {
  81.     char buf[100];
  82.     scanf("%s", buf);
  83.     if (isS(buf) != NULL)
  84.         printf("true\n");
  85.     else
  86.         printf("false\n");
  87.     return 0;
  88. }
Add Comment
Please, Sign In to add comment