Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #define SET 1
- #define UNSET 0
- int main()
- {
- int c, brace, bracket, parentheses, d_qot_f, s_qot_f, line_no;
- d_qot_f = s_qot_f = UNSET;
- brace = bracket = parentheses = line_no = 0;
- while((c = getchar()) != EOF) {
- if(c == '\n') {
- if(brace > 0)
- printf("you have %d not closed braces in line no %d\n",brace, line_no);
- else if(brace < 0)
- printf("you have %d not opened braces in line no %d\n",abs(brace), line_no);
- if(parentheses > 0)
- printf("you have %d not closed parentheses in line no %d\n",parentheses, line_no);
- else if(parentheses < 0)
- printf("you have %d not opened parentheses in line no %d\n",abs(parentheses), line_no);
- if(bracket > 0)
- printf("you have %d not closed brackets in line no %d\n",bracket, line_no);
- else if(bracket < 0)
- printf("you have %d not opened brackets in line no %d\n",abs(bracket), line_no);
- if(s_qot_f == SET)
- printf("single quotation not closed\n");
- if(d_qot_f == SET)
- printf("double quotation not closed\n");
- line_no++;
- brace = bracket = parentheses = line_no = 0;
- d_qot_f = s_qot_f = UNSET;
- }
- else {
- switch(c) {
- case '{':++brace;
- break;
- case '(':++parentheses;
- break;
- case '[':++bracket;
- break;
- case '}':--brace;
- break;
- case ')':--parentheses;
- break;
- case ']':--bracket;
- break;
- case '\'':
- if(s_qot_f == UNSET)
- s_qot_f = SET;
- else
- s_qot_f = UNSET;
- break;
- case '"':
- if(d_qot_f == UNSET)
- d_qot_f = SET;
- else
- d_qot_f = UNSET;
- break;
- }
- }
- if(brace > 0)
- printf("you have %d not closed braces in line no %d\n",brace, line_no);
- else if(brace < 0)
- printf("you have %d not opened braces in line no %d\n",abs(brace), line_no);
- if(parentheses > 0)
- printf("you have %d not closed parentheses in line no %d\n",parentheses, line_no);
- else if(parentheses < 0)
- printf("you have %d not opened parentheses in line no %d\n",abs(parentheses), line_no);
- if(bracket > 0)
- printf("you have %d not closed brackets in line no %d\n",bracket, line_no);
- else if(bracket < 0)
- printf("you have %d not opened brackets in line no %d\n",abs(bracket), line_no);
- if(s_qot_f == SET)
- printf("single quotation not closed\n");
- if(d_qot_f == SET)
- printf("double quotation not closed\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment