a2
This commit is contained in:
parent
25b06a80f1
commit
4773498c69
22
a2/program.c
22
a2/program.c
@ -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){
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user