Update a1/program.c

This commit is contained in:
Yurii Yakovenko 2024-10-25 20:20:59 +00:00
parent f919aa8983
commit 13ee4c0bfb

View File

@ -69,7 +69,7 @@ int main()
if(c=='<'||c=='('||c=='{'||c=='[') if(c=='<'||c=='('||c=='{'||c=='[')
{ {
push_stack(&mystack, c); push_stack(&mystack, c);
} }
if(c=='>'||c==']'||c=='}'||c==')') if(c=='>'||c==']'||c=='}'||c==')')
{ {
@ -77,41 +77,45 @@ int main()
cs=pop_stack(&mystack); cs=pop_stack(&mystack);
else else
{ {
printf("\nUnexpected closing bracket %c in %d\n", c,i); printf("\nUnexpected closing bracket %c in %d\n", c,i);
is_ok=false; is_ok=false;
break; break;
} }
if(c=='>' && cs!='<') if(c=='>' && cs!='<')
{ {
printf("\nCrossed bracket %c in %d, expected %c", c, i, para(c)); printf("\nCrossed bracket %c in %d, expected %c", c, i, para(cs));
is_ok=false;
break;
}
if(c==']' && cs!='[')
{
printf("\nCrossed bracket %c in %d, expected %c", c, i, para(cs));
is_ok=false; is_ok=false;
break; break;
} }
if(c==')' && cs!='(') if(c==')' && cs!='(')
{ {
printf("\nCrossed bracket %c in %d, expected %c", c, i, para(c)); printf("\nCrossed bracket %c in %d, expected %c", c, i, para(cs));
is_ok=false;
break;
}
if(c==')' && cs!='(')
{
printf("\nCrossed bracket %c in %d, expected %c", c, i, para(c));
is_ok=false; is_ok=false;
break; break;
} }
if(c=='}' && cs!='{') if(c=='}' && cs!='{')
{ {
printf("\nCrossed bracket %c in %d, expected %c", c, i, para(c)); printf("\nCrossed bracket %c in %d, expected %c", c, i, para(cs));
is_ok=false; is_ok=false;
break; break;
} }
} }
i++; i++;
} }
if(is_ok) if(count_stack(&mystack)>0)
printf("\nAll brackets OK\n"); {
cs=pop_stack(&mystack);
printf("\nMissing closing brackets: %c\n", para(cs));
}
else if(is_ok)
printf("\nAll bracket OK");