Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- char* isS(char* ptr);
- char* isK(char* ptr);
- char* isL(char* ptr);
- char* isX(char* ptr);
- char* isS(char *ptr)
- {
- bool flag = false;
- do
- {
- if ((ptr = isK(ptr)) != NULL)
- {
- ++ptr;
- if (*ptr == ',')
- {
- ++ptr;
- flag = true;
- }
- else
- flag = false;
- }
- else
- return NULL;
- }
- while (flag);
- if (*ptr != '\0')
- return NULL;
- return ptr;
- }
- char* isK(char* ptr)
- {
- if (*ptr == '(')
- {
- ++ptr;
- if ((ptr = isL(ptr)) != NULL)
- {
- ++ptr;
- if (*ptr == ')')
- return ptr;
- }
- }
- return NULL;
- }
- char* isL(char* ptr)
- {
- if ((ptr = isX(ptr)) != NULL)
- {
- ++ptr;
- if (*ptr == ',')
- {
- ++ptr;
- if ((ptr = isX(ptr)) != NULL)
- {
- ++ptr;
- if (*ptr == ',')
- {
- ++ptr;
- if ((ptr = isX(ptr)) != NULL)
- return ptr;
- }
- }
- }
- }
- return NULL;
- }
- char* isX(char* ptr)
- {
- if (*ptr >= '0' && *ptr <= '9')
- return ptr;
- return NULL;
- }
- int main()
- {
- char buf[100];
- scanf("%s", buf);
- if (isS(buf) != NULL)
- printf("true\n");
- else
- printf("false\n");
- return 0;
- }
Add Comment
Please, Sign In to add comment