자료구조 괄호검사 프로그램 질문드립니다
-
게시물 수정 , 삭제는 로그인 필요
사진에 나온 문제처럼 코드를 수정해야 하는데 어떻게 수정해야 하나요?
코드 3.5
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
typedef char Element;
#include "ArrayStack.h"
int check_matching(char expr[])
{
int i = 0, prev;
init_stack();
while (expr[i] != '\0') {
char ch = expr[i++];
if (ch == '[' || ch == '(' || ch == '{')
push(ch);
else if (ch == ']' || ch == ')' || ch == '}') {
if (is_empty())
return 2;
prev = pop();
if ((ch == ']' && prev != '[')
|| (ch == ')' && prev != '(')
|| (ch == '}' && prev != '{'))
return 3;
}
}
if (!is_empty()) return 1;
else return 0;
}
void main()
{
char expr[4][80] = {
"{A[(i+1)]=0;}",
"if((i==0) && (j==0)",
"while(n<8)){n++;}",
"arr[(i+1]) = 0;" };
for (int i = 0; i < 4; i++) {
int errCode = check_matching(expr[i]);
if (errCode == 0) printf("%-20s -> 정상\n", expr[i]);
else printf("%-20s -> 오류(조건%d 위반)\n", expr[i], errCode);
}
}
![](https://img-api.cboard.net/img_n.php?image_url=https://kin-phinf.pstatic.net/20240408_97/17125758445215Ozlh_JPEG/20240402_173647.jpg)
#자료구조 괄호검사 #자료구조 괄호검사 프로그램 #자료구조 스택 괄호검사