This commit is contained in:
Oleksandr Hryshchenko 2021-11-29 20:34:48 +00:00
parent 25b06a80f1
commit 4773498c69

View File

@ -20,7 +20,7 @@ float popStack(struct Stack* stack){
int main(){ int main(){
char string[50]; //0 - 49 char string[50]; //0 - 49
char BB[50]; //0 - 49 char stack_size[50]; //0 - 49
struct Stack stack; struct Stack stack;
memset(&stack, 0, sizeof(struct Stack)); memset(&stack, 0, sizeof(struct Stack));
@ -29,28 +29,28 @@ int main(){
scanf("%[^\n]", string); scanf("%[^\n]", string);
strcpy(BB, string); strcpy(stack_size, string);
int i = 0; int i = 0;
while (1){ while (i <= strlen(string)){
if (BB[i] != '[' || BB[i] != '(' || BB[i] != '{' || BB[i] != '<'){ if (stack_size[i] != '[' && stack_size[i] != '(' && stack_size[i] != '{' && stack_size[i] != '<'){
} }
else { else {
pushStack(&stack, BB[i]); pushStack(&stack, stack_size[i]);
BB[i] = ' '; stack_size[i] = ' ';
x++; x++;
} }
if( BB[i] != ']' || BB[i] != ')' || BB[i] != '}' || BB[i] != '>'){ if( stack_size[i] != ']' && stack_size[i] != ')' && stack_size[i] != '}' && stack_size[i] != '>'){
} }
else { else {
if (x == 0){ if (x == 0){
printf ("Read: %s\nUnexpected closing bracket %c in %d\n",string, BB[i], i); printf ("Read: %s\nUnexpected closing bracket %c in %d\n",string, stack_size[i], i);
return 0; return 0;
} }
@ -59,14 +59,14 @@ int main(){
c--; c--;
} }
if (c+2 != BB[i]){ if (c+2 != stack_size[i]){
printf("Read: %s\nCrossed bracket %c in %d, expected %c \n", string, BB[i], i, c+2); printf("Read: %s\nCrossed bracket %c in %d, expected %c \n", string, stack_size[i], i, c+2);
return 0; return 0;
} }
} }
i++; i++;
if (i == strlen(string)) break; //if () break;
} }
if (stack.size > 0){ if (stack.size > 0){